Systems and methods for vehicle cruise speed recommendation

ABSTRACT

A method for providing a cruising speed recommendation to an operator of a vehicle includes determining a projected route; receiving route characteristic data including route elevation data; determining a sampling resolution; sampling the route elevation data at the sampling resolution to generate sampled route elevation data; determining at least one start of uphill position and at least one start of downhill position; determining at least one cruise speed route segment based at least in part on the at least one start of uphill position and the at least one start of downhill position; determining a corresponding cruising speed for the at least one cruise speed route segment based at least in part on one or more of the route elevation data and the sampled route elevation data; and communicating the corresponding cruising speed for the at least one cruise speed route segment.

CROSS-REFERENCE TO RELATED APPLICATION

This U.S. Continuation application claims priority to U.S. Utilityapplication Ser. No. 17/464,084, filed Sep. 1, 2021, which isincorporated herein by reference in its entirety.

GOVERNMENT LICENSE RIGHTS

This invention was made with government support under the DE-AR0000794contract awarded by United States Department of Energy, AdvancedResearch Projects Agency (ARPA-E). The government has certain rights inthe invention.

TECHNICAL FIELD

This disclosure relates to vehicle propulsion control, and in particularto systems and methods for improving vehicle energy efficiency throughproviding recommendations regarding vehicle propulsion control and/orvehicle operator behavior.

BACKGROUND

Vehicles, such as cars, trucks, sport utility vehicles, cross-overs,mini-vans, or other suitable vehicles, may include various systems forcontrolling vehicle propulsion. Such systems include cruise controlsystems, automatic cruise control systems, autonomous vehicle controlsystems, and the like. Typically, a vehicle propulsion control systemcontrols vehicle propulsion based on a desired speed or motor torque.For example, a cruise control system may receive an input from anoperator, such as a set speed. The cruise control system may adjustvarious aspects of the vehicle to maintain the set speed.

In some instances, the operator may desire to receive speedrecommendations for driving the vehicle to improve fuel economy.Typically, such vehicle propulsion systems may not be capable ofproviding recommended speeds to the operator by selectively determiningcruise speeds and segments based on various factors both internal to andexternal from the vehicle or presenting them in an intuitive manner.

SUMMARY

This disclosure relates generally to systems and methods for providingrecommendations to an operator of a vehicle.

An aspect of the disclosed embodiments includes a method for providing acruising speed recommendation to an operator of a vehicle. The methodincludes determining a projected route. The method further includesreceiving route characteristic data including route elevation data. Themethod further includes determining a sampling resolution. The methodfurther includes sampling the route elevation data at the samplingresolution to generate sampled route elevation data. The method furtherincludes determining at least one start of uphill position and at leastone start of downhill position based at least in part on the sampledroute elevation data. The method further includes determining at leastone cruise speed route segment based at least in part on the at leastone start of uphill position and the at least one start of downhillposition. The method further includes determining a correspondingcruising speed for the at least one cruise speed route segment based atleast in part on one or more of the route elevation data and the sampledroute elevation data. The method further includes communicating thecorresponding cruising speed for the at least one cruise speed routesegment.

Another aspect of the disclosed embodiments includes an apparatus forproviding a cruising speed recommendation to an operator of a vehicle.The apparatus includes a processor and a memory including instructionsthat, when executed by the processor, cause the processor to determine aprojected route. The instructions further cause the processor to receiveroute characteristic data including route elevation data. Theinstructions further cause the processor to determine a samplingresolution. The instructions further cause the processor to sample theroute elevation data at the sampling resolution to generate sampledroute elevation data. The instructions further cause the processor todetermine at least one start of uphill position and at least one startof downhill position based at least in part on the sampled routeelevation data. The instructions further cause the processor todetermine at least one cruise speed route segment based at least in parton the at least one start of uphill position and the at least one startof downhill position. The instructions further cause the processor todetermine a corresponding cruising speed for the at least one cruisespeed route segment based at least in part on one or more of the routeelevation data and the sampled route elevation data. The instructionsfurther cause the processor to communicate the corresponding cruisingspeed for the at least one cruise speed route segment.

Yet another aspect of the disclosed embodiments includes anon-transitory computer-readable storage medium. The non-transitorycomputer-readable medium includes executable instructions that, whenexecuted by a processor, facilitate performance of operations includingdetermining a projected route. The operations further include receivingroute characteristic data including route elevation data. The operationsfurther include determining a sampling resolution. The operationsfurther include sampling the route elevation data at the samplingresolution to generate sampled route elevation data. The operationsfurther include determining at least one start of uphill position and atleast one start of downhill position based at least in part on thesampled route elevation data. The operations further include determiningat least one cruise speed route segment based at least in part on the atleast one start of uphill position and the at least one start ofdownhill position. The operations further include determining acorresponding cruising speed for the at least one cruise speed routesegment based at least in part on one or more of the route elevationdata and the sampled route elevation data. The operations furtherinclude communicating the corresponding cruising speed for the at leastone cruise speed route segment.

These and other aspects of the present disclosure are provided in thefollowing detailed description of the embodiments, the appended claims,and the accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure is best understood from the following detaileddescription when read in conjunction with the accompanying drawings. Itis emphasized that, according to common practice, the various featuresof the drawings are not to-scale. On the contrary, the dimensions of thevarious features are arbitrarily expanded or reduced for clarity.

FIG. 1 generally illustrates a vehicle according to the principles ofthe present disclosure.

FIG. 2 generally illustrates a block diagram of a vehicle propulsioncontrol system according to the principles of the present disclosure.

FIG. 3 generally illustrates a block diagram of a computing deviceaccording to the principles of the present disclosure.

FIGS. 4A-4B generally illustrate velocity envelopes according to theprinciples of the present disclosure.

FIGS. 5A-5B generally illustrate velocity envelopes according to theprinciples of the present disclosure.

FIG. 6 generally illustrates velocity envelopes according to theprinciples of the present disclosure.

FIGS. 7A-7C generally illustrate a method for providing a coastrecommendation for an operator of a vehicle.

FIG. 8 generally illustrates a grade-speed lookup graph according to theprinciples of the present disclosure.

FIGS. 9A-9B generally illustrate routes segmented according to theprinciples of the present disclosure.

FIGS. 10A-10B generally illustrate various vehicle routes according tothe principles of the present disclosure.

FIGS. 11A-11B generally illustrate route segmented according to theprinciples of the present disclosure.

FIG. 12 generally illustrates a comparison of fuel economies accordingto the principles of the present disclosure.

FIGS. 13A-13C generally illustrate a method for providing a cruise speedrecommendation according to the principles of the present disclosure.

FIG. 14 generally illustrates methods for providing recommendations tothe operator according to the principles of the present disclosure.

FIG. 15 generally illustrates a method for providing recommendations tothe operator according to the principles of the present disclosure.

FIG. 16 generally illustrates a method for providing recommendations tothe operator according to the principles of the present disclosure.

FIGS. 17A-H generally illustrate various configurations of a displayzone according to the principles of the present disclosure.

FIGS. 18A-18C generally illustrate a method for providing a drivingspeed recommendation according to the principles of the presentdisclosure.

FIG. 19 is a flow diagram generally illustrating an energy consumptionestimation method according to the principles of the present disclosure.

FIG. 20 is a flow diagram generally illustrating an alternative energyconsumption estimation method according to the principles of the presentdisclosure.

FIG. 21 is a flow diagram generally illustrating an alternative energyconsumption estimation method according to the principles of the presentdisclosure.

FIG. 22 is a flow diagram generally illustrating an alternative energyconsumption estimation method according to the principles of the presentdisclosure.

DETAILED DESCRIPTION

The following discussion is directed to various embodiments of theinvention. Although one or more of these embodiments may be preferred,the embodiments disclosed should not be interpreted, or otherwise used,as limiting the scope of the disclosure, including the claims. Inaddition, one skilled in the art will understand that the followingdescription has broad application, and the discussion of any embodimentis meant only to be exemplary of that embodiment, and not intended tointimate that the scope of the disclosure, including the claims, islimited to that embodiment.

FIG. 1 generally illustrates a vehicle 10 according to the principles ofthe present disclosure. The vehicle 10 may include any suitable vehicle,such as a car, a truck, a sport utility vehicle, a mini-van, across-over, any other passenger vehicle, any suitable commercialvehicle, or any other suitable vehicle. While the vehicle 10 isillustrated as a passenger vehicle having wheels and for use on roads,the principles of the present disclosure may apply to other vehicles,such as planes, boats, trains, drones, or other suitable vehicles. Thevehicle 10 includes a vehicle body 12 and a hood 14. A portion of thevehicle body 12 defines a passenger compartment 18. Another portion ofthe vehicle body 12 defines the engine compartment 20. The hood 14 maybe moveably attached to a portion of the vehicle body 12, such that thehood 14 provides access to the engine compartment 20 when the hood 14 isin a first or open position and the hood 14 covers the enginecompartment 20 when the hood 14 is in a second or closed position.

The passenger compartment 18 may be disposed rearward of the enginecompartment 20. The vehicle 10 may include any suitable propulsionsystem including an internal combustion engine, one or more electricmotors (e.g., an electric vehicle), one or more fuel cells, a hybrid(e.g., a hybrid vehicle) propulsion system comprising a combination ofan internal combustion engine, one or more electric motors, and/or anyother suitable propulsion system. In some embodiments, the vehicle 10may include a petrol or gasoline fuel engine, such as a spark ignitionengine. In some embodiments, the vehicle 10 may include a diesel fuelengine, such as a compression ignition engine. In some embodiments, thevehicle 10 may include a battery electric vehicle (BEV) comprising oneor more onboard batteries or battery packs configured to provide energyto one or more electric motors of the propulsion system.

The engine compartment 20 houses and/or encloses at least somecomponents of the propulsion system of the vehicle 10. Additionally, oralternatively, propulsion controls, such as an accelerator actuator(e.g., an accelerator pedal), a brake actuator (e.g., a brake pedal), asteering wheel, and other such components may be disposed in thepassenger compartment 18 of the vehicle 10. The propulsion controls maybe actuated or controlled by an operator of the vehicle 10 and may bedirectly connected to corresponding components of the propulsion system,such as a throttle, a brake, a vehicle axle, a vehicle transmission, andthe like, respectively. In some embodiments, the propulsion controls maycommunicate signals to a vehicle computer (e.g., drive by wire) which inturn may control the corresponding propulsion component of thepropulsion system.

In some embodiments, the vehicle 10 includes a transmission incommunication with a crankshaft via a flywheel or clutch or fluidcoupling. In some embodiments, the transmission includes a manualtransmission. In some embodiments, the transmission includes anautomatic transmission. The vehicle 10 may include one or more pistons,in the case of an internal combustion engine or a hybrid vehicle, whichcooperatively operate with the crankshaft to generate force which may betranslated through the transmission to one or more axles which turnswheels 22. When the vehicle 10 includes one or more electric motors, avehicle battery and/or fuel cell provides energy to the electric motorsto turn the wheels 22. In cases where the vehicle 10 includes a vehiclebattery to provide energy to the one or more electric motors, when thebattery is depleted, it may be connected to an electric grid (e.g.,using a wall socket) to recharge the battery cells. Additionally, oralternatively, the vehicle 10 may employ regenerative braking which usesthe one or more electric motors of the vehicle 10 as a generator toconvert kinetic energy lost due to decelerating back into stored energyin the battery.

The vehicle 10 may include automatic vehicle propulsion systems, such asa cruise control, an adaptive cruise control, automatic braking control,other automatic vehicle propulsion systems, or a combination thereof.The vehicle 10 may be an autonomous or semi-autonomous vehicle, or othersuitable type of vehicle. The vehicle 10 may include additional or fewerfeatures than those generally illustrated and/or disclosed herein.

FIG. 2 generally illustrates a block diagram of a vehicle propulsioncontrol system 100 according to the principles of the presentdisclosure. The system 100 may be disposed within a vehicle, such as thevehicle 10. The system 100 may be configured to selectively controlpropulsion of the vehicle 10 and, in some embodiments, the system 100may be configured to determine profiles for a target vehicle speedand/or a target vehicle torque split based on various input information(e.g., route information, vehicle characteristic information, trafficinformation, other suitable information, or a combination thereof). Theprofiles of the target vehicle speed and/or the target vehicle torquesplit correspond to a vehicle speed at which the vehicle 10 achieves anoptimum energy consumption efficiency with respect to a portion of aroute being traversed by the vehicle 10.

In some embodiments, the system 100 may include a vehicle propulsioncontroller (VPC) 102, human machine interface (HMI) controls 104,vehicle sensors 108, a torque controller 110, a brake controller 112, atorque split controller 116, a brake system 118, a propulsion system120, and a display 122. In some embodiment, the display 122 may includea portion of a dash or console of the vehicle 10, a navigation displayof the vehicle 10, or other suitable displays of the vehicle 10. In someembodiments, the display 122 may be disposed on a computing device, suchas a mobile computing device used by the operator. In some embodiments,the system 100 may include a propulsion adjustment controller (PAC) 124,a global position system (GPS) antenna 126 (referred to hereinafter asGPS 126) in communication with a mapping characteristics module (notshown), advanced driver (operator) assistance system (ADAS) modules 128,and a vehicle to other systems (V2X) communication module 130. The V2Xcommunication module 130 may be configured to communication with othervehicles, other infrastructure (e.g., such as traffic infrastructure,mobile computing devices, and/or other suitable infrastructure), aremote computing device (e.g., the remote computing device 132), othersuitable systems, or a combination thereof. As will be described, thesystem 100 may be in communication with one or more remote computingdevices 132. In some embodiments, at least some of the components of thesystem 100 may be disposed in a propulsion control module (PCM) or otheronboard vehicle computing device. For example, at least the PAC 124 andthe VPC 102 may be disposed within the PCM. In some embodiments, thesystem 100 may be at least partially disposed within the PCM while othercomponents of the system 100 may be disposed on a standalone computingdevice having a memory that stores instructions that when executed by aprocessor cause the processor to carry out the operations of thecomponents. For example, the PAC 124 may be disposed on a memory andexecuted by a processor. It should be understood that the system 100 mayinclude any combination of computing devices, either disposed locally inthe vehicle 10 and/or disposed remotely, as will be described.

In some embodiments, the system 100 further includes an additionaloutput device 134. The additional output device 134 can includenon-display outputs such as audio devices. Such audio devices caninclude speakers, chimes, or other audio devices. The additional outputdevice 134 can include vibration motors, such as those mounted invehicle seats

In some embodiments, the VPC 102 may include an automatic vehiclepropulsion system. For example, the VPC 102 may include a cruise controlmechanism, an adaptive cruise control mechanism, an automatic brakingsystem, other suitable automatic vehicle propulsion system, or acombination thereof. Additionally, or alternatively, the VPC 102 mayinclude or be a portion of an autonomous vehicle system that controlsall or a portion of vehicle propulsion, steering, braking, safety, routemanagement, other autonomous features, or a combination thereof. Itshould be understood that, while only limited components of the system100 are illustrated, the system 100 may include additional autonomouscomponents or other suitable components.

The VPC 102 may be in communication with one or more human to machineinterfaces (HMI) 104. The HMI controls 104 may include any suitable HMI.For example, the HMI controls 104 may include a plurality of switchesdisposed on a steering wheel of the vehicle 10, on the dash or consoleof the vehicle 10, or any other suitable location on the vehicle 10. Insome embodiments, the HMI controls 104 may be disposed on a mobilecomputing device, such as a smart phone, tablet, laptop computer, orother suitable mobile computing device. In some embodiments, theoperator of the vehicle 10 may interface with the HMI controls 104 touse the VPC 102 to control vehicle propulsion and/or other features ofthe VPC 102. For example, the operator may actuate an HMI switch of theHMI controls 104 disposed on the steering wheel of the vehicle 10. TheHMI controls 104 may communicate a signal to the VPC 102. The signal mayindicate a desired vehicle speed selected by the operator. The VPC 102generates a torque demand corresponding to the desired vehicle speed andcommunicates the torque demand to a torque controller 110. The torquecontroller 110 may be in communication with the propulsion system 120and/or other vehicle propulsion systems of the vehicle 10. The torquecontroller 110 selectively controls the propulsion system 120 and/or theother vehicle propulsion systems using the torque demand to achieve thedesired vehicle speed. The operator may increase or decrease the desiredvehicle speed by actuating additional switches of the HMI controls 104.The VPC 102 may adjust the torque demand to achieve the increase ordecrease in the desired vehicle speed.

The VPC 102 may continuously adjust the torque demand in order tomaintain the desired vehicle speed. For example, the VPC 102 may be incommunication with the vehicle sensors 108. The vehicle sensors 108 mayinclude cameras, speed sensors, proximity sensors, other suitablesensors as will be described, or a combination thereof. The VPC 102 mayreceive a signal from the vehicle sensors 108 that indicates a currentvehicle speed. The VPC 102 may adjust the torque demand to adjust thevehicle speed when the signal indicates that the current vehicle speedmay be different from the desired vehicle speed. For example, thevehicle 10 may traverse an incline that causes the vehicle 10 to reducecurrent vehicle speed (e.g., because the torque demand applied by thetorque controller 110 may be insufficient to maintain vehicle speedwhile on the incline). The VPC 102 may increase the torque demand inorder adjust the current vehicle speed, thereby achieving the desiredvehicle speed.

In some embodiments, such as when the VPC 102 includes an adaptivecruise control mechanism, the VPC 102 may adjust the torque demand basedon the proximity of a lead vehicle (e.g., a vehicle immediately in frontof the vehicle 10). For example, the VPC 102 may receive informationfrom the vehicle sensors 108 indicating the presence of a lead vehicle.The information may be captured by the vehicle sensors 108 usingcameras, proximity sensors, radar, the V2X communication module 130,other suitable sensors or input devices, or a combination thereof. TheVPC 102 may determine whether to maintain the desired vehicle speed orincrease or decrease the torque demand in order to increase or decreasethe current vehicle speed. For example, the operator may indicate, usingthe HMI controls 104, to maintain pace with the lead vehicle whilekeeping a safe stopping distance between the vehicle 10 and the leadvehicle. The VPC 102 may selectively increase the torque demand if thelead vehicle is traveling faster than the vehicle 10 and may selectivelydecrease the torque demand if the lead vehicle is traveling slowerrelative to the vehicle 10.

The VPC 102 may bring the vehicle 10 to a complete stop when the leadvehicle comes to a complete stop. For example, the VPC 102 may be incommunication with the brake controller 112 to send a plurality ofsignals over a period indicating to the brake controller 112 to controlvehicle braking (e.g., the VPC 102 may bring the vehicle to a stop overa period so as not to suddenly stop the vehicle, however, in the case ofa sudden stop of the lead vehicle, the VPC 102 brings the vehicle 10 toa sudden stop to avoid collision with the lead vehicle). The brakecontroller 112 may be in communication with the brake system 118. Thebrake system 118 may include a plurality of brake components that may beactuated in response to the brake controller 112 implementing brakingprocedures based on the plurality of signals from the VPC 102. In someembodiments, the VPC 102 may implement engine braking through aregenerative braking system by adjusting the torque demand to allow thevehicle 10 to come to a stop without use of the brake system 118 or theVPC 102 may use a combination of regenerative braking and the brakesystem 118 to bring the vehicle 10 to a complete stop. In order toresume vehicle propulsion control, the operator indicates to resumevehicle propulsion control using the HMI controls 104 (e.g., the VPC 102may not be configured to resume vehicle propulsion control withoutinteraction from the operator). In some embodiments, the vehicle 10 mayinclude a higher level of automation including a higher level ofpropulsion control, as described, and may include suitable controls forbringing the vehicle 10 to a complete stop without interaction with theoperator of the vehicle 10.

In some embodiments, the VPC 102 may determine a torque split in orderto utilize an internal combustion engine and an electric motor of thevehicle 10 (e.g., in the case where the vehicle 10 is a hybrid vehicle).It should be understood that while only an internal combustion engineand an electric motor are described, the vehicle 10 may include anyhybrid combination of any suitable vehicle engines and motors. Thetorque split indicates a portion of the torque demand to be applied tothe internal combustion engine and a portion of the torque demand to beapplied to the electric motor. For example, the electric motor may beused for vehicle propulsion when the torque demand is below a threshold.However, when the torque demand is above the threshold (e.g., such asthe case when the vehicle 10 is on a steep incline) the internalcombustion engine may provide at least a portion of vehicle propulsionin order to assist the electric motor. The VPC 102 communicates thetorque split to the torque split controller 116. The torque splitcontroller 116 may be in communication with the propulsion system 120 toapply the torque split.

In some embodiments, the VPC 102 includes a plurality of safetycontrols. For example, the VPC 102 may determine whether to increase ordecrease the torque demand, thereby increasing or decreasing the desiredvehicle speed or current vehicle speed, based on input from the safetycontrols. The safety controls may receive input from the vehicle sensors108. For example, the safety controls may receive proximity sensorinformation, camera information, other information, or a combinationthereof and may generate a safety signal that indicates to the VPC 102to perform one or more safety operations. For example, in the case of alead vehicle coming to a sudden stop, the safety controls may generate asafety signal, based on proximity information from the vehicle sensors108, indicating to the VPC 102 to immediately bring the vehicle 10 to acomplete stop. In some embodiments, the VPC 102 may determine whether toapply the desired vehicle speed set by the operator using the HMIcontrols 104 based on the signal from the safety controls. For example,the operator may increase the desired vehicle speed which may bring thevehicle 10 closer to the lead vehicle (e.g., the vehicle 10 would travelfaster than the lead vehicle if the desired vehicle speed wereachieved). The VPC 102 may determine not to apply the desired vehiclespeed, and instead may provide an indication to the display 122indicating to the operator that increasing the desired vehicle speed maybe unsafe or the VPC 102 may ignore the increase in the desired vehiclespeed. In some embodiments, the VPC 102 may be in communication with atransmission controller module (TCM). The VPC 102 may receiveinformation from the TCM (e.g., an automatically selected gear) and maydetermine and/or adjust the total torque demand based on the informationreceived from the TCM.

As described, the system 100 includes a PAC 124. The PAC 124 may beconfigured to determine a profile for a target vehicle speed based on,at least, route information of a route being traversed by the vehicle10, vehicle parameters of the vehicle 10, information about othervehicles proximate to the vehicle 10, traffic information, weatherinformation, the current vehicle speed, the desired vehicle speed, otherinformation, or a combination thereof. As will be described, the PAC 124may determine the profile for the target vehicle speed based on anenergy consumption profile of the vehicle 10. The energy consumptionprofile may be generated using the information described above and mayindicate an optimum energy consumption of the vehicle 10 for variousroute characteristics, such as road grades, curvatures, traffic, speedlimits, stop signs, traffic signals, other route characteristics, or acombination thereof.

The PAC 124 receives route characteristics (e.g., road gradecharacteristics, route distance, and route directions), vehicleparameters, traffic characteristics, weather characteristics, vehicle tovehicle parameters, other information or characteristics, or acombination thereof. In some embodiments, the PAC 124 receives at leastsome of the route characteristics from a mapping characteristics modulebased on location information from the GPS 126. The mappingcharacteristics module disposed within the vehicle 10 (e.g., within thesystem 100) or may be disposed on a remote computing device, such as theremote computing device 132. When the mapping characteristics module isdisposed on the remote computing device 132, the GPS 126 may capturevarious global positioning signals from various global positioningsatellites or other mechanisms. The GPS 126 may communicate the capturedsignals to the mapping characteristics module. The mappingcharacteristics module may generate the route characteristics based onthe signals received from the GPS 126 and communicate the routecharacteristics to the PAC 124. For example, the PAC 124 may receive aroute distance, route directions, road grade information of the route,other route characteristics, or a combination thereof. In someembodiments, the PAC 124 may receive traffic signal locationinformation, traffic stop sign location information, posted speed limitinformation, lane shift information, other route characteristics orinformation, or a combination thereof, from the mapping characteristicsmodule based on location information from the GPS 126.

The PAC 124 may receive further vehicle parameters from the vehiclesensors 108. For example, the vehicle sensors 108 may include an energylevel sensor (e.g., a fuel level sensor or a battery charge sensor), anoil sensor, a speed sensor, a weight sensor, other suitable sensors, ora combination thereof. The PAC 124 may receive an energy level of thevehicle 10, a current weight of the vehicle 10, an oil condition of thevehicle 10, tire inflation information of the vehicle 10, a currentvehicle speed, engine temperature information, other suitable vehicleparameters of the vehicle 10, or a combination thereof from the vehiclesensors 108. In some embodiments, the vehicle sensors 108 may includeweather sensors, such as, a precipitation sensor or moisture sensor, abarometric pressure sensor, an ambient temperature sensor, othersuitable sensors, or a combination thereof. The PAC 124 may receivecurrent weather information, such as precipitation information,barometric pressure information, ambient temperature information, othersuitable weather information, or a combination thereof, from the vehiclesensors 108.

The PAC 124 may receive at least some of the route characteristics fromthe ADAS modules 128. The ADAS modules 128 may assist the operator ofthe vehicle 10 to improve vehicle safety and road safety. The ADASmodules 128 may be configured to automate and/or adapt and enhancevehicle systems for safety and better driving. The ADAS modules 128 maybe configured to alert the operator of the vehicle 10 of upcomingtraffic conditions or disabled vehicles and/or to alert the vehicle 10of a vehicle proximate to the vehicle 10 in order to avoid collisionsand accidents. Further, the ADAS modules 128 may autonomously avoidcollisions by implementing safeguards and taking over control of thevehicle 10, such as, by automatic lighting, initiating adaptive cruisecontrol (e.g., via the VPC 102) and collision avoidance (e.g., bycontrolling a trajectory of the vehicle 10 or bringing the vehicle 10 toa complete stop either using the VPC 102 or directly using the brakecontroller 112). The PAC 124 may receive information, such as trafficcharacteristics, vehicle proximity information, disabled vehicleinformation, other suitable information, or a combination thereof, fromthe ADAS modules 128.

The PAC 124 may receive, at least, some of the route characteristicsfrom the V2X module communication 130. The V2X communication module 130may be configured to communicate with other systems proximate orremotely located from the vehicle 10, as described, to obtain and shareinformation, such as, traffic information, vehicle speed information,construction information, other information, or a combination thereof.The PAC 124 may receive other vehicle speed information, other vehiclelocation information, other traffic information, constructioninformation, other suitable information, or a combination thereof, fromthe V2X communication module 130.

The PAC 124 may receive, at least, some of the route characteristicsfrom the remote computing device 132. For example, the PAC 124 mayreceive further information regarding route distance, route directions,road grade information of the route, traffic information, constructioninformation, other vehicle location information, other vehicle speedinformation, vehicle maintenance information of the vehicle 10, otherroute characteristics, or a combination thereof, from the remotecomputing device 132. Additionally, or alternatively, the PAC 124 mayreceive vehicle parameters from the remote computing device 132, suchas, a make and model of the vehicle 10, manufacturer provided energyconsumption efficiency of the vehicle 10, a weight of the vehicle 10,other vehicle parameters, or a combination thereof. In some embodiments,the PAC 124 may receive traffic signal location information, trafficstop sign location information, posted speed limit information, laneshift information, other route characteristics or information, or acombination thereof, from the remote computing device 132. The remotecomputing device 132 may include any suitable computing device ordevices, such as a cloud computing device or system, a remotely locatedserver or servers, a remotely or proximately located mobile computingdevice or application server that provides information to a mobilecomputing device, other suitable remote computing devices, or acombination thereof. The remote computing device 132 may be locatedremotely from the vehicle 10, such as in a datacenter or other suitablelocation. In some embodiments, the remote computing device 132 may belocated within the vehicle 10 (e.g., a mobile computing device used bythe operator of the vehicle 10).

In some embodiments, the PAC 124 may receive traffic signal information,such as traffic signal phase and timing (SPaT) from a smart algorithmused by a traffic data provider. The SPaT information may indicate whentraffic signals are changing and/or the timing of traffic signals.

The PAC 124 may receive route characteristics and/or vehicle parametersfrom the operator of the vehicle 10. For example, the operator mayinteract with an interface of the PAC 124, such as using the display 122or using a mobile computing device, to provide vehicle parameters of thevehicle 10, such as, vehicle weight, vehicle make and model, vehicleage, vehicle maintenance information, vehicle identification number, anumber of passengers, load information (e.g., an amount of luggage orother load information), other vehicle parameters, or a combinationthereof. Additionally, or alternatively, the operator may provide routecharacteristics, such as a route map, route distance, other routecharacteristics, or a combination thereof, to the PAC 124. In someembodiments, the PAC 124 learns behavior of the operator of the vehicle10. For example, the PAC 124 monitors the operator's vehicle speedrelative to posted speed limits or whether the operator implements avehicle speed recommendation, as will be described, provided by the PAC124.

In some embodiments, the PAC 124 may learn traffic patterns for knownroutes traversed by the vehicle 10. For example, the PAC 124 may tracktraffic conditions while the vehicle 10 traverses one or more routes ona routine or regular basis. The PAC 124 may determine traffic patternsfor the routes based on the monitored traffic conditions. In someembodiments, the PAC 124 receives traffic patterns for a route thevehicle 10 is traversing from the remote computing device 132, or fromthe mapping characteristics module based on the signals from the GPS126, as described.

It should be understood that the PAC 124 may receive any characteristicsor information associated with routes, traffic, signage and signals,other vehicles, vehicle parameters of the vehicle 10, any other suitablecharacteristics or information, including those described or notdescribed here, from any of the components described or not describedherein. Additionally, or alternatively, the PAC 124 may be configured tolearn any suitable characteristics or information described or notdescribed herein.

In some embodiments, the PAC 124 may be configured to control propulsionof the vehicle 10. The PAC 124 may be an integrated component of the VPC102, or may be an overlay component that communicates with or interfaceswith the VPC 102 and/or other components of the vehicle 10.Additionally, or alternatively, the PAC 124 may be disposed on a mobilecomputing device, such as a smart phone that uses, at least, some of theinformation described above, to present the operator of the vehicle 10with a recommended vehicle speed. In some embodiments, the VPC 102 mayinclude an adaptive cruise control mechanism. As described, the adaptivecruise control mechanism may be configured to maintain the desiredvehicle speed provided by the operator of the vehicle 10 using the HMIcontrols 104, and the adaptive cruise control mechanism may beconfigured to maintain a safe distance between the vehicle 10 and a leadvehicle. Further, the adaptive cruise control mechanism may beconfigured to bring the vehicle 10 to a complete stop in response to thelead vehicle coming to a complete stop. As described, the adaptivecruise control mechanism may not be capable of restarting vehiclepropulsion without interaction from the operator of the vehicle 10.Additionally, the adaptive cruise control mechanism may be incapable ofbringing the vehicle 10 to a complete stop in the absence of a leadvehicle. Accordingly, the VPC 102 (e.g., the adaptive cruise controlmechanism) may not be able to take advantage of energy efficient vehiclepropulsion control (e.g., such as a coasting to a stop in response to adetermination that vehicle 10 may be approaching a stop sign). The PAC124 may be configured to determine a target vehicle propulsion profile,which may include one or more target vehicle speeds and one or moretarget torque splits, based on an energy consumption profile for thevehicle 10. The PAC 124 may determine a target torque demand based onprofiles of a target vehicle speed and/or a target torque split.

In some embodiments, the PAC 124 determines the vehicle energyconsumption profile using the information described above. For example,the PAC 124 may determine the vehicle consumption profile using avehicle weight, manufacturer provided vehicle energy efficiency,historical data corresponding to the vehicle 10 or similar vehiclesindicating energy consumption of the vehicle 10 or similar vehicleswhile traversing portions of a particular route or specific road grades,or other suitable route or road information, other suitable vehicleparameters, or a combination thereof. The vehicle energy consumptionprofile may indicate that the vehicle 10 consumes a specified amount ofenergy (e.g., within a tolerance range) while operating at a specificvehicle speed (within a tolerance) while traversing routes havingparticular road, traffic, and other conditions. For example, the energyconsumption of the vehicle 10 may be greater when the vehicle 10 is onan incline and may be less when the vehicle 10 is coasting to a stop. Insome embodiments, the PAC 124 receives or retrieves a vehicle energyprofile for the vehicle 10 determined remotely from the vehicle 10, suchas by the remote computing device 132.

The PAC 124 may be configured to use the vehicle energy consumptionprofile and various route characteristics to determine the profiles forthe target vehicle speed and/or target torque split for a portion of aroute being traversed by the vehicle 10. For example, the PAC 124 maydetermine that the vehicle 10 is approaching a particular variation ingrade over the portion of the route being traversed by the vehicle 10.The PAC 124 uses the vehicle energy consumption profile to identify avehicle speed (within a threshold range of the desired vehicle speedprovided by the operator to the VPC 102) and/or a torque split having anoptimum energy consumption for the grade variation of the portion of theroute being traversed by the vehicle. In some embodiments, the PAC 124may determine the vehicle speed and torque split using historical energyconsumption for a known route, such as a route previously traversed bythe vehicle 10 or similar vehicles. The PAC 124 determines a targettorque demand from the identified vehicle speed and determines a targettorque split from the identified torque split. It should be understoodthat the PAC 124 continuously monitors the various characteristicsreceived, as described, and continues to generate profiles for targetvehicle speeds and/or target torque splits, such that, the vehicle 10maintains an optimum or improved energy consumption while maintainingoperator and/or passenger comfort (e.g., by avoiding sudden, unnecessarychanges in vehicle speed).

In some embodiments, the PAC 124 may be configured to determine when thevehicle 10 should coast to achieve optimum or improved energyconsumption of the vehicle 10. For example, the PAC 124 may use knowntraffic conditions, as described, to determine when the vehicle 10should coast. Additionally, or alternatively, the PAC 124 may learntraffic conditions, as described, and may determine whether the vehicle10 should coast in areas along a route known to typically have trafficbased, for example, on time of day. In some embodiments, the PAC 124 mayuse SPaT information to determine when the vehicle 10 should coast inresponse to change traffic signals. Additionally, or alternatively, thePAC 124 may determine to increase the target vehicle speed associatedwith the profile for the target vehicle speed (e.g., within the postedspeed limit) in order to increase a likelihood that the vehicle 10 willarrive at a traffic signal while the traffic signal indicates toproceed, which may allow the vehicle 10 to avoid having to stop attraffic signals, based on traffic single timing.

In some embodiments, the PAC 124 may be configured to calculate a coastfunction and/or a road load function (see the Equation (1)) to identifyparticular vehicle parameters using velocity dependent resistance force.Parameters of the road load function include, vehicle parameters, suchas vehicle mass or weight, vehicle rolling friction, vehicle dragcoefficient, other vehicle parameters, or a combination thereof, whichmay be received by the PAC 124, as described. These parameters can thenbe updated using a coast self-learning function, such that the PAC 124identifies or requests a coast sequence, (e.g., from historicalinformation and/or from the remote computing device 132) and calculatesthe coast function result. The PAC 124 may calculate the coast functionwhen requested by the operator of the vehicle 10 who would be promptedto perform a particular learning maneuver by the PAC 124, or could belearned in the background.

Equation (1) Velocity dependent resistive forces: F=wind, tires,bearings, and other forces plus acceleration dependent inertial forcesplus grade dependent gravitational forces:

F=(A+(B*v)+(C*v ²))+((1+drive axle %+non-drive axle %)*(TestMass*acceleration))+(Test Mass*g*sin(arc tan(grade %)))

Where A represents the resistive force that is constant and may not varywith velocity (e.g., bearings, seals, tires, etc.), B represents theresistive force that varies linearly with velocity (e.g., drive train,differential, etc.), and C represents the resistive force that varieswith the square of velocity (e.g., wind, tire deformation, etc.)

As described, the PAC 124 may control or interface with the VPC 102and/or interface with the operator of the vehicle 10 in order to achievethe target vehicle speed and/or target torque split profiles, which mayresult in optimum or improved energy consumption efficiency of thevehicle 10. Additionally, or alternatively, the PAC 124 may control orinterface with the VPC 102 in order to bring the vehicle 10 to acomplete stop in response to the vehicle 10 approaching a stop sign,traffic signal, traffic, disabled vehicle, or other suitable conditions.The PAC 124 may also control or interface with the VPC 102 in order toresume vehicle propulsion after the vehicle 10 has come to a completestop.

In some embodiments, the PAC 124 may control or interface with the VPC102 using virtual inputs in order to achieve the target vehicle speedand/or target torque split profiles. As described, the VPC 102 mayreceive a desired vehicle speed from the operator of the vehicle 10using the HMI controls 104. Virtual inputs as described herein mayinclude inputs generated by the PAC 124 or other suitable componentdisposed within the vehicle 10 or remotely located from the vehicle 10that cause allow the PAC 124 or other suitable component to controlaspects of the vehicle 10 according to one or more control targets orother targets, such as those described herein. Additionally, oralternatively, the VPC 102 (e.g., when the VPC 102 includes an adaptivecruise control mechanism) may adjust the desired vehicle speed inresponse to a lead vehicle's speed.

In some embodiments, the PAC 124 initializes the VPC 102 using thedesired speed provided by the operator of the vehicle 10 the first timethe operator of the vehicle 10 engages the VPC 102 during a key cycle.The PAC 124 may then provide the virtual inputs to the VPC 102 in orderto control vehicle speed to achieve optimum or improved energyconsumption efficiency of the vehicle 10. In some embodiments, the PAC124 may generate a virtual input that includes a virtual HMI signalthat, when received by the VPC 102, may cause the VPC 102 to be enabled,be disabled, and/or to set or adjust the current vehicle speed. The PAC124 generates the virtual HMI signal based on target vehicle speedprofile. The PAC 124 may be in communication with and/or interfaces withthe HMI controls 104. The PAC 124 substitutes HMI signals provided bythe operator of the vehicle 10 with the virtual HMI signal generated bythe PAC 124. The VPC 102, as described, includes a plurality of safetycontrols. The VPC 102 then applies the target vehicle speed associatedwith the target vehicle speed profile indicated by the virtual HMIsignal, in the same manner the VPC 102 applies a desired vehicle speedprovided by the operator using the HMI controls 104, as described. TheVPC 102 may determine whether to apply the target vehicle speed and/orthe target torque split indicated by the virtual HMI signals based onthe safety controls.

In some embodiments, the PAC 124 generates a virtual input that includesa virtual lead car in order to control the VPC 102 to bring the vehicle10 to a complete stop in the absence of an actual lead car. For example,the PAC 124 may bring the vehicle 10 to a stop as the vehicle 10approaches a stop sign, a traffic signal, traffic, a disabled vehicle,or other suitable stopping conditions that the vehicle 10 may encounter,as described. The PAC 124 substitutes information received by the VPC102 from the vehicle sensors 108 (e.g., information the VPC 102 uses todetect an actual lead car) with virtual information, signals, and/orinputs corresponding to the virtual lead car.

The VPC 102 detects the presence of the virtual lead car and performsoperations associated with following a lead car (e.g., maintain a safedistance between the vehicle 10 and the lead car, keeping pace with thelead car, and bringing the vehicle to a stop in response to the lead carbeing within an object range of the vehicle 10 and coming to a completestop). The PAC 124 may then control a virtual speed of the virtual leadcar based on the target vehicle speed profile. The VPC 102 may thenadjust the current vehicle speed of the vehicle 10 to follow the virtuallead car. In this manner, the PAC 124 may achieve the target vehiclespeed profile of the vehicle 10 to provide optimum or improved energyconsumption efficiency of the vehicle 10. While the PAC 124 may becontrolling the VPC 102 using the virtual inputs described, the vehiclesensors 108, such as cameras, radar, proximity sensors, and the like,continue to provide information to the VPC 102, such that, while the VPC102 may be applying or following the virtual inputs provided by the PAC124, the VPC 102 may continue to detect actual vehicles or objects infront of the vehicle 10. The safety controls of the VPC 102 may beconfigured to override the VPC 102, including the virtual inputsprovided by the PAC 124, to safely bring the vehicle 10 to a completestop or increase or decrease vehicle speed in response to theinformation from the vehicle sensors 108

In some embodiments, the PAC 124 may be in direct communication with theVPC 102 and the torque split controller 116 to provide recommendedtarget torque demands and target torque splits to the VPC 102 and thetorque split controller 116, respectively, to achieve an optimum orimproved energy consumption efficiency of the vehicle 10. For example,the VPC 102 may be configured to receive HMI signals (e.g., asdescribed), to follow a lead vehicle based on information from thevehicle sensors 108 (e.g., as described), and to receive a recommendedtarget vehicle speed signal from the PAC 124. The VPC 102 may determinewhether to apply the target vehicle speed indicated by the recommendedtarget vehicle speed signal, for example, based on the operator input,the detection of a lead vehicle, and/or the safety controls of the VPC102.

The torque split controller 116 may be configured to receive arecommended torque split signal from the VPC 102 based on the operatorinput, as described, and may be configured to receive a recommendedtarget torque split signal from the PAC 124. It should be understoodthat the PAC 124 may communicate the recommended target torque splitsignal to the VPC 102, which then may communicate the recommended targettorque split signal and/or the recommended torque demand signal (e.g.,generated by the VPC 102) to the torque split controller 116. The torquesplit controller 116 determines whether to apply the target torque splitindicated by the recommended target toque split signal based on acomparison to the torque split indicated by the recommended torque splitsignal provided by the VPC 102 and/or based on an existing propulsionstate of the vehicle 10 (e.g., including diagnostic conditions).

In some embodiments, the PAC 124 may communicate with the display 122 toprovide an indicator to the operator that the vehicle speed may bechanging in order to improve energy consumption efficiency of thevehicle 10. For example, the PAC 124 may use the display 122 toillustrate an energy efficiency symbol that indicates to the operator ofthe vehicle 10 that the vehicle speed may be changing in order toimprove energy consumption efficiency of the vehicle 10.

In some embodiments, as described, the VPC 102 may not include anadaptive cruise control system and may include a basic cruise controlsystem. Additionally, or alternatively, the operator of the vehicle 10may not engage the VPC 102 in order to control propulsion of the vehicle10 (e.g., the operator of the vehicle 10 may control propulsionmanually). Accordingly, the PAC 124 may be configured to provide arecommendation to the operator indicating a target vehicle speed of atarget vehicle speed profile. The recommendation may be provided to theoperator of the vehicle 10 using one or more integrated displays of thevehicle 10, such as the display 122 which may include a portion of adash or console of the vehicle 10, a navigation display of the vehicle10, or other suitable integrated displays of the vehicle 10. In someembodiments, the recommendation may be provided to the operator of thevehicle 10 using a mobile computing device within the vehicle 10. Therecommendation may include a symbol or textual information thatindicates to the operator of the vehicle 10 to increase or decreasevehicle speed. Additionally, or alternatively, the recommendation caninclude a coast recommendation that may be displayed for a calabratableamount of time and may then be withdrawn in response to the operator ofthe vehicle 10 ignoring the recommendation. The recommendation caninclude information indicating that the recommendation may be inresponse to a change in speed limit, a stop sign being approached by thevehicle 10, traffic signal timing, and status, or other information. Theinformation may be visually displayed and may decay as the vehicle 10recommendation becomes obsolete.

The operator of the vehicle 10 may determine to honor the recommendationand change the vehicle speed accordingly, or the operator may choose toignore the recommendation. The PAC 124 may be configured to monitordrive action in response to the recommendation to determine whether theoperator of the vehicle 10 honored the recommendation or ignored therecommendation. The PAC 124 may determine whether to adjustrecommendations based on the monitored operator action. For example, thePAC 124 may determine not to recommend coasting in response to theoperator ignoring a threshold number of coasting recommendations.Additionally, or alternatively, the PAC 124 may determine, using themonitored operator action and the route traversed by the vehicle 10,whether the operator of the vehicle 10 honors the recommendation atcertain portions of the route and ignores the recommendations at otherportions of the route. The PAC 124 may selectively provide therecommendations to the operator of the vehicle 10 based on the monitoredoperator action and the vehicle route. Additionally, or alternatively,the PAC 124 may monitor the operator action in response to therecommendation based on traffic patterns, stop signs, traffic signals,and the like. The PAC 124 may selectively determine whether to providethe operator of the vehicle 10 the recommendations based on themonitored operator action in response to traffic patterns, stop signs,traffic signals, and the like.

In some embodiments, the PAC 124 and/or the VPC 102 may perform themethods described herein. However, the methods described herein asperformed by the PAC 124 and/or the VPC 102 may not be meant to belimiting, and any type of software executed on a controller can performthe methods described herein without departing from the scope of thisdisclosure. For example, a controller, such as a processor executingsoftware within a computing device onboard the vehicle 10, can performthe methods described herein.

In some embodiments, the system 100 may include additional, fewer, orother components, than those described with respect to and illustratedin FIG. 2 . In some embodiments, the system 100 may perform more orfewer functions than those described above.

As described, vehicles, such as cars, trucks, sport utility vehicles,cross-overs, mini-vans, or other suitable vehicles, may include variousautomatic vehicle propulsion control systems that may provide a level ofautomation for the vehicle. For example, a vehicle may include cruisecontrol, adaptive cruise control, automatic braking, a fully autonomousvehicle control system, or any suitable vehicle propulsion controlsystem or a combination thereof. Typically, systems such as cruisecontrol and adaptive cruise control receive input from an operator thatindicates a desired vehicle speed. For the purposes of this disclosure,an operator may include a human driver (proximate to or remote from thevehicle), an automated system (proximate to or remote from the vehicle),or a combination thereof. In the case of a fully autonomous vehicle, theautonomous vehicle control systems may determine a vehicle speed basedon posted speed limits and a variety of safety systems and protocols.The automatic vehicle propulsion control systems typically interact withvarious vehicle components, such as a throttle, brake system, and thelike, to achieve the desired speed.

While autonomous vehicles may be able to bring the vehicle to a completestop, cruise control systems are typically capable of maintaining thedesired vehicle speed by adjusting a torque demand provided to variousvehicle components without being capable of bringing the vehicle to acomplete stop without operator interaction. Additionally, oralternatively, adaptive cruise control systems are typically capable ofmaintaining the desired vehicle speed and adjusting the vehicle speed tomaintain a safe distance from a lead vehicle (e.g., a vehicleimmediately in front of the vehicle operating the automatic vehiclepropulsion control system). However, cruise control and adaptive cruisecontrol systems may not be capable of bringing the vehicle to a completestop, as may be the case with cruise control, or the system may not becapable of bringing the vehicle to a complete stop in the absence of alead vehicle, as may be the case with adaptive cruise control. Further,such systems typically do not continue vehicle propulsion withoutfurther input from the operator, such as the operator actuating a resumeswitch, after the vehicle has been brought to a full stop. In additionto the above, the automatic vehicle propulsion control systems describedmay not be capable of controlling vehicle propulsion in order to achievea desired energy consumption (e.g., fuel, battery, and the like)efficiency. Accordingly, systems and methods, such as those disclosedherein, that provide vehicle propulsion control in order to achieve anoptimum energy consumption may be desirable.

In addition or alternatively to the above, while systems may exist toprovide a coasting speed recommendation to an operator, such systems maynot be capable of selectively determining the coast speed based onvarious factors. Examples of such factors include vehicle position data,vehicle geography, vehicle characteristics, and subsequent speed changeevents. For example, projected route information may be valuable indetermining a coasting speed, especially with regards to an elevation ofthe route being traversed by the vehicle 10. A stop event may occur pastthe top of a hill, and coasting without taking into account a minimumacceptable speed at the top of the hill could result in driverdiscomfort (e.g., being on a 45 mile per hour road, but losing so muchspeed coasting up the hill that the vehicle is only going 10 miles perhour at the peak of the hill). A stop event may occur shortly after aspeed reduction event (e.g., a stop sign occurring 100 feet beyond aspeed limit reduction to 25 miles per hour). Calculating when to coastfor the speed limit change may result in inefficiencies where thefollowing stop sign is not taken into account. It may instead be moreefficient to coast down to the stop sign while ignoring the speed limitchange, as 25 miles per hour 100 feet before the stop sign may besubstantially higher than the desired residual speed for the stop sign.For example, it may be more efficient to coast down to 15 miles per hour50 feet prior to the stop sign than, say, 20 miles per hour 50 feetprior to the stop sign. However, in this example, coasting down to 25miles per hour at 100 feet prior to the stop sign may result in coastingdown to only 20 miles per hour 50 feet prior to the stop sign, requiringmore fuel usage and more braking than if the coasting was targeting 15miles per hour at 50 feet prior to the stop sign. Accordingly, systemsand methods, such as those disclosed herein, that provide coastingrecommendations in order to achieve an optimum energy consumption may bedesirable.

In addition or alternatively to the above, while systems may exist toprovide travel speed recommendations, such systems may not providesegmented, efficient cruise recommendations that avoid discomfort anddistraction for the operator. For example, some systems may determine asingle efficient cruise speed for a trip, but that single efficientcruise speed may be relatively less efficient than a larger number ofcruise speeds associated with uphill and downhill segments. As anotherexample some systems may provide constant speed updates, regularlychanging speed may be distracting to a driver and reduce energyefficiency through repeated accelerations and decelerations.Accordingly, systems and methods, such as those disclosed herein, thatprovide cruising speed recommendations in order to achieve an optimumenergy consumption while minimizing operator distraction and discomfortmay be desirable.

In addition or alternatively to the above, some systems may exist forproviding recommended energy efficient operations to an operator of avehicle. However, such systems may be distracting or present therecommendations in a non-intuitive manner. Accordingly, systems andmethods, such as those disclosed herein, that provide energy efficiencyrecommendations in an intuitive, low-distraction manner in order toachieve an optimum energy consumption.

As described, typical vehicle propulsion control and recommendationsystems may only allow for limited coasting capabilities. However, theremay be opportunities, while the vehicle traverses a route, to allow thevehicle to coast to, for example, improve energy efficiency. However,there may be opportunities, while a vehicle traverses a route to allow avehicle to coast in order to, for example, improve energy efficiency.Various challenges exist in providing coasting features. For example, itmay be difficult to determine a start of coasting distance andcorresponding pre-coasting vehicle speed under the assumption of a knowndesired speed at the target (e.g., a stop, or speed limit reduction).Further, rolling (e.g., coasting) the vehicle 10 all the way to the stop(e.g., such as at a stop sign with a speed target of zero) may causediscomfort to the operator or discomfort to other vehicles following theoperator.

To address this, a target speed (i.e., a residual speed, a speed toreach prior to a speed change event, for instance the speed to coastdown to prior to braking for a stop sign) for a stop sign may beapproximately 15 mph to be reached at a target position (residualposition, the position from which the operator would begin coasting) 30feet before the stop sign. The target speed and/or target position maybe a selectable choice of an operator. The target speed and/or targetposition may be determined based on past driver behavior andresponsiveness to coasting recommendations.

Coasting is a movement of the vehicle resulting from an embedded kineticenergy of the vehicle and a lack of the propulsion being provided by thepowertrain. Vehicle movement during coasting is further affected byvarious forces acting on the vehicle (e.g., aerodynamic drag forces),and is based on the velocity and aerodynamic characteristics of aspecific vehicle, gravity forces (based on the road elevation profile(road grade [%]), and mass associated with the vehicle (e.g., vehicledry mass, mass of gasoline, mass associated with occupants of thevehicle, vehicle load associated with cargo and the like), gear/enginefriction forces, wind forces, road curvature friction forces, rollingfriction forces, and/or other forces.

For any known vehicle identification number (VIN) the information onaerodynamic drag coefficients (represented by A, B, & C), vehicle mass,and engine characteristic may be available via various remotely locatedcomputing devices, such as “cloud” computing devices, EnvironmentalProtection Agency (EPA) databases, and the like. Additionally, oralternatively, a road grade and/or road characteristics between anystart point and target point (stop sign/stop light, speed limit,traffic, and the like) may be accessible via global positioning system(GPS) detailed map meta-data, other suitable sources, and the like.Vehicle characteristics and other factors, like driver behavior, can bedetermined with a dedicated learning algorithm based on a differencebetween a predicted target speed and actual speed at the target locationfound in previous coasting recommendations.

An equation can be formulated using fundamental kinetic energyconversion-to-work equation over the incremental distance ΔS at a pointi on the road as the change in the kinetic energy of the vehicle isproportional to the change in the vehicle's velocity induced by allforces, ΣF(i), contributing to the vehicle's slow down (negativeacceleration) when coasting:

ΔEk=½·mass·ΔV2=ΣF(i)×ΔS  Equation (2)

The estimate of the total force slowing down the vehicle can be used tocalculate an instant negative acceleration:

accel(i)=ΣF(i)/mass  Equation (3)

Vehicle velocity at an earlier point i−1, i.e.,Vx(i−1) located atdistance ΔS from point i, if velocity at point i, Vx(i), can be found:

Vx(i−1)=sgrt{[Vx(i)]2+2·accel(i)·ΔS)}  Equation (4)

Where ΔS represents the change in distance between two consecutive roadgrade readings.

The grade reading at every point i can be determined by interpolation ofgrade data received from a GPS to fit either a constant or aposition-varying distance step ΔS.

Using the iteration technique and starting at the desired targetvelocity at a desired target location (e.g., at or prior to the stopsign or speed limit) a processor can calculate the “velocity envelope”backwards along the travel path to a maximum desired speed (usually thespeed limit on the section of the road being considered).

For a flat or substantially flat surface (e.g., surface or road gradebeing at or near 0%), a velocity envelope may look like that illustratedin FIG. 4A, which illustrates a velocity envelope calculated for aspecific vehicle (specific mass, aerodynamic definition, and engine/gearfriction). The velocity envelope may be calculated assuming the targetvehicle speed to be 15.26 mph (start of iteration). Arrows 402 point toan example of pre-coasting velocity of the vehicle at approximately 50mph, such that the processor may identify the start of coasting to be atthe distance to the target approximately equal to be 2000 m−780 m=1220 m(or 780 m down the road if calculation of the velocity envelope isavailable at the distance of 2000 m from the target).

Typically, surfaces traversed by the vehicle 10 may deviate from asubstantially flat surface. The velocity envelope (illustrated in FIG.4A) becomes modulated by an uneven road grade due to the varying gravitycomponent of the total force ΣF(i). An example of uneven grade roadprofile and resultant “velocity envelope” is illustrated in FIG. 4Busing a target velocity equal to 14.78 mph (starting point for theiteration).

FIG. 4B illustrates a velocity envelope calculated for a specificvehicle (specific mass, aerodynamic definition, and engine/gearfriction). The example illustrates uneven road grade depicted togetherwith the result of “envelope” calculations. The envelope may becalculated assuming the target vehicle speed to be 14.78 mph and may belimited to maximum of 55 mph as it might be performed in city trafficwhere speed limit may be 55 mph or lower. Arrows 402 illustrate anexample of the pre-coasting velocity of the vehicle equal to 40 mphwhich translates to a suggestion of a start of coasting at a distance(target distance) to the stop event approximately equal to 1325 m−600m=725 m (or 600 m down the road if calculation of the “velocityenvelope” may be available at the distance of 1325 m from the target).

The dot-dash line 404 in FIG. 4B (wherein the assumption may be that thevehicle cruises at the speed of 35 mph) indicates that, in some cases,the coasting velocity may occasionally exceed initial cruising velocity(steep downslope), or fall below the target velocity (steep uphill).This may result in an inappropriate low speed not acceptable to anoperator, and should be handled by an additional upfront-generatedvelocity envelope with the aim to deliver reasonable coasting advice atthe machine-human interface.

FIG. 5A illustrates an example where, without a minimum (i.e., lower)speed envelope, the corresponding coast recommendation would place thecoast point before a downhill segment, which would result in very lowspeed at the top of the hill.

FIG. 5B illustrates that introducing a minimum speed envelope based on apercentage of the current speed limit or typical average driving speedscontained in the map meta-data, together with a minimum decelerationlimit before reaching e.g. a stop-sign, will delay the coast indication,keeping a realistic speed profile and having limited impact on the fueleconomy.

Minimum speed envelope parameters may be dependent on the selecteddriving profile. For example: a normal driving profile may have a 5%economy target (e.g., energy economy target or range extension), minimumspeed at 80% of the speed limit, and minimum deceleration of 1 m/s2; anEco driving profile has a 10% economy target, minimum speed at 70% ofthe speed limit, and minimum deceleration of 0.5 m/s2; and an Eco+driving profile has a 15% economy target, minimum speed of 60% of thespeed limit, and a minimum deceleration of 0.25 m/s2.

FIG. 6 illustrates an example of event shadowing. In FIG. 6 , there aretwo speed reduction events, a speed limit reduction and a following stopsign. In the illustrated case, the car drives at 48 mph, the systemdetermines a 25 mph speed limit as next event with a target speed off 25mph and issues the coast indication at the blue arrow. The stop eventmay be shadowed by the speed limit event. Had it taken into account thestop sign a bit further, it could have given the coast indication soonerto provide additional fuel savings.

In some embodiments of the present disclosure, significant fuel savingsmay be possible through optimization of the coast phase durations withzero fuel burn. The system may have an advantage over a human operatoras it knows precise road topography, distance to deceleration events(stop, traffic light, speed limit decrease) beyond visual range, and canaccurately predict deceleration and stop distance based on knowledge ofvehicle road-load parameters. The system can prioritize subsequentevents to maximize fuel saving and takes into account realistic minimumspeeds. The algorithm may rely on existing vehicle sensors augmented bya location based navigation database.

In some embodiments the system 100 may be configured to receive vehicleposition data. For example, the PAC 124 may receive the vehicle positiondata from GPS 126. For example, the vehicle position data may bereceived by the PAC from the remote computing device 132.

The system 100 may be configured to receive vehicle characteristic data.For example, the PAC 124 may retrieve vehicle characteristic data fromthe remote computing device 132. In some embodiments, the vehiclecharacteristic data may include vehicle aerodynamics. In someembodiments, the vehicle characteristic data may include vehicle mass.In some embodiments, the vehicle characteristic data may include vehiclefuel consumption profiles. In some embodiments, the vehicle fuelconsumption profiles may be based on one or more EnvironmentalProtection Agency (EPA) fuel economy tests. In some embodiments, thevehicle fuel consumption profiles may be based off of a historicalanalysis of past vehicle fuel consumption.

The system 100 may be configured to receive planned route data. Forexample, the PAC 124 may receive the planned route data from the remotecomputing device 132, on which a planned route has been generated. Theplanned route data may be received by way of the network interface 312.In some embodiments, the planned route data may be received fromnavigational software operating on one or more components of the system.

The system 100 may be configured to determine a projected route based atleast in part on the vehicle position data. In some embodiments,determining the projected route may be based at least in part on theplanned route data. For example, the PAC 124 may receive the plannedroute data and determine that the projected route is the planned routeas based on the planned route data. In some embodiments, determining theprojected route may be based at least in part on the vehicle positiondata. In some embodiments, determining the projected route may be basedat least in part on historical analysis of operator travel. For example,if an operator has driven the same route at the same time of day on manyoccasions, the projected route may be determined based on the assumptionthat the user may be taking the same route.

The system 100 may be configured to receive route characteristic data.For example, the PAC 124 may receive route characteristic data from theremote computing device. In some embodiments, the route characteristicdata includes elevation data. In some embodiments, the routecharacteristic data includes signage information (e.g., location of stopsigns, timing of stop lights, etc.). In some embodiments, the routeelevation data may include the elevation at multiple points along theprojected route. In some embodiments, the route characteristic data mayfurther include road curvature data. Examples of road curvature data mayinclude one or more of curvature of the road along the length of theroad and curvature of the road across the road (i.e., the extent towhich the road may be crowned or sloped). In some embodiments, the routecharacteristic data may further include road surface condition data.Examples of road surface condition data may include coefficients offriction, road rolling resistance contribution, existence of knownpotholes, and recent icy conditions. In some embodiments, the routecharacteristic data further includes weather data. Examples of weatherdata may include whether it rained recently, whether it snowed recently,and whether fog may be impeding visual identification of other vehicles.In some embodiments, the route characteristic data further includesspeed limit data. In some embodiments, the route characteristic datafurther includes traffic data.

The system 100 may be configured to determine a first speed changeposition and a first speed change target speed based at least in part onthe projected route. For example, the PAC 124 may determine the firstspeed change position and the first speed change target speed. In someembodiments, determining the first speed change target speed may bebased at least in part on the route characteristic data. For example,the signage information may be used to identify a stop sign or stoplightahead. As another example, the speed limit information may be used toidentify a speed reduction ahead. In some embodiments, determining thefirst speed change target speed may be based at least in part on thetraffic data. For example, the traffic data may be used to identify abackup ahead. In some embodiments, determining the first speed changeposition may be based at least in part on the route characteristic data.

The system 100 may be configured to determine a second speed changeposition and a second speed change target speed based at least in parton the projected route. For example, the PAC 124 may determine thesecond speed change position and the second speed change target speed.In some embodiments, determining the second speed change target speedmay be based at least in part on the route characteristic data. Forexample, the signage information may be used to identify a stop sign orstoplight ahead. As another example, the speed limit information may beused to identify a speed reduction ahead. In some embodiments,determining the first speed change target speed may be based at least inpart on the traffic data. For example, the traffic data may be used toidentify a backup ahead. In some embodiments, determining the firstspeed change position may be based at least in part on the routecharacteristic data.

The system 100 may be configured to determine a first residual speed anda first residual speed position based at least in part on the firstspeed change position and the first speed change target speed. Forexample, the first residual speed and first residual speed location maybe determined by the PAC 124 by calculating based on a maximum desiredbraking deceleration to a selected percentage of the speed limit fromthe first speed change position and the first speed change target speed.In some embodiments, determining the target speed profile may be basedat least in part on the traffic data. For example, the traffic may bemoving too fast to allow for a low first residual speed.

The system 100 may be configured to determine a second residual speedand a second residual speed position based at least in part on thesecond speed change position and the second speed change target speed.For example, the second residual speed and second residual speedlocation may be determined by the PAC 124 calculating based on a maximumdesired braking deceleration to a selected percentage of the speed limitfrom the second speed change position and the second speed change targetspeed. In some embodiments, determining the target speed profile may bebased at least in part on the traffic data. For example, the traffic maybe moving too fast to allow for a low first residual speed.

The system 100 may be configured to determine a first lower speedtolerance (i.e., a speed below which the vehicle should not coast below;this speed may be adjusted lower as the first residual speed positiondraws closer). In some embodiments, the first lower speed tolerance maybe retrieved by the PAC 124 from a storage device or received from theremote computing device 132. In some embodiments, the first lower speedtolerance may be determined based on speed limit information.

The system 100 may be configured to determine a second lower speedtolerance (i.e., a speed below which the vehicle should not coast below;this speed may be adjusted lower as the first residual speed positiondraws closer). In some embodiments, the second lower speed tolerance maybe retrieved by the PAC 124 from a storage device. In some embodiments,the second lower speed tolerance may be determined based on speed limitinformation.

The system 100 may be configured to determine a first lower speedenvelope based at least in part on the first residual speed. Forexample, the PAC 124 may determine the first lower speed envelope. Forexample, the first lower speed envelope may not pass below the firstresidual speed. In some embodiments, determining the first lower speedenvelope may be further based on the first lower speed tolerance. Forexample, the first lower speed envelope may not drop below the firstlower speed tolerance.

The system 100 may be configured to determine a second lower speedenvelope based at least in part on the second residual speed and asecond lower speed tolerance. The PAC 124 may determine the lower speedenvelope. For example, the second lower speed envelope may not passbelow the second residual speed. In some embodiments, determining thesecond lower speed envelope may be further based on the second lowerspeed tolerance. For example, the second lower speed envelope may notdrop below the second lower speed tolerance.

The system 100 may be configured to determine an overall lower speedenvelope based at least in part on the first residual speed. Forexample, PAC 124 may determine the overall lower speed envelope. In someembodiments, determining the overall lower speed envelope may be furtherbased on the second lower speed envelope such that the overall lowerspeed envelope is the lesser of the second lower speed envelope and thesecond lower speed envelope.

The system 100 may be configured to determine an upper speed tolerancebased at least in part on the speed limit information. For example, thePAC 124 may determine the upper speed tolerance based on the speed limitinformation. For example, in some embodiments, the upper speed tolerancemay not exceed the speed limit, or may not exceed the speed limit plus afixed or percentage value over the speed limit.

The system 100 may be configured to determine an upper speed envelope.For example, the PAC 124 may determine the upper speed envelope. In someembodiments, determining the upper speed envelope may be based at leastin part on the speed limit information. In some embodiments, the upperspeed envelope may be based at least in part on the upper speedtolerance.

The system 100 may be configured to determine a target speed profilebased at least in part on the first residual speed, the first residualspeed position, the overall lower speed envelope, and the upper speedenvelope. For example, the PAC 124 may determine the target speedprofile. In some embodiments, the target speed profile lies above theoverall lower speed envelope and below the upper speed envelope. In someembodiments, determining the target speed profile may be further basedon the vehicle characteristic data. For example, the target speedprofile may change in view of vehicle weight, aerodynamics, etc.

The system 100 may be configured to determine a coast start point basedat least in part on the target speed profile. For example, the PAC 124may calculate the coast start point by selecting the point on the targetspeed profile where the current speed intersects the target speedprofile and the target speed profile may not pass above the upper speedenvelope or below the overall lower speed envelope.

The system 100 may be configured to communicate the coast start point tothe operator of the vehicle. For example, the PAC 124 may send a signalto cause an audio variety of additional output device 134 to produce anaudible signal indicating to start coasting now (e.g., an audible “coastnow” or a chime). In some embodiments, the PAC 124 may send a signal tocause the display 122 to present a visual indicator (e.g., a writtenmessage such as “coast now” or an image of a foot being lifted off of anaccelerator).

Further to the above, there are substantial cost and environmentalpressures to develop solutions leading to more energy efficientvehicles. This is being achieved in part by continuous improvements tothe power train system, but may also be delivered by “conscious” driving(i.e., enhanced, more energy efficient driving). Enhanced, more energyefficient driving may be achieved by providing the operator withinformation pertaining to the projected vehicle's energy efficiencyalong the planned driving path, as well as recommendations regardingcruising speed.

More energy-efficient driving may be aided through usage of a tablet orsmartphone equipped with a GPS receiver and containing detailed roadmeta-data. Energy economy may be based on vehicle characteristics of anindividual vehicle (e.g., aerodynamics, mass, fuel consumption and/orenergy consumption characterized by the specific, standardized EPA teststhat can be accessed (via the “cloud”) if the vehicle VIN number isknown). The tablet or smartphone may then be able to providerecommendations to the driver, offering opportunities for fuel economyimprovement to vehicles already on the road. Similarly, vehicles may beable to provide such recommendations based on similar fuel economyinformation.

Significant fuel economy improvements may be achieved during highwaycruising by operating the vehicle at speeds near optimum powertrainefficiency. This information can be computed by an algorithm on thesmart device by utilizing map meta-data (i.e., route characteristics)such as road grade, curvature and speed limits and knowledge about thepowertrain characteristics such as specific energy consumption, gearratio, mass and aerodynamic drag obtained from a vehicle database.

When cruising at a constant speed, the kinetic energy of the vehicle maybe maintained by providing propulsion to counter-balance kinetic energyloss resulting from the following forces: the aerodynamic drag force(which is based on velocity and aerodynamic characteristic of a specificvehicle dependent), gravity force based on the road profile (road graderoD and vehicle mass, combined gear/engine friction forces, and otherforces (e.g., wind, friction from road curvature, rolling friction,etc.).

According to the disclosed embodiments, the energy used by thepropulsion system as adjusted by the energy conversion factor andefficiency of the powertrain provides the force needed to maintainconstant vehicle velocity regardless of velocity-dependent frictionlosses and road profile-defined gravity forces. A challenge is toprovide an acceptable approximation of fuel consumption by the vehicleat variety of vehicle speeds and engine/battery loads.

The estimate of energy consumption vs. velocity of a vehicle along theroad with constantly changing road grade is valuable informationallowing for calculation of fuel saving at any velocity in reference tothe fuel consumption when the vehicle is driven at the speed limit.Energy efficiency data for any combination of vehicle's speed and roadgrade can be obtained using a look-up graph, such as that depicted inFIG. 8 .

FIG. 8 shows an example of energy efficiency characteristics of avehicle, depicted for variety of road grades. As indicated in FIG. 8 ,driving a given on a 1% incline delivers 35.86 mpg when cruising at 70mph, and 40.39 mpg when cruising at the speed of 60 mph.

As shown in FIG. 8 , driving this specific vehicle along the road withconstant incline of 1% at cruising speed of 60 mph instead of 70 mph,delivers the saving of the fuel: 40.39-36.66=3.73 mpg, or approximately10%.

It is worthwhile to note that some steep falling road slopes do not haveany representation in FIG. 8 , as gravity alone delivers the forcenecessary to propel the vehicle forward. Of course, such negative roadgrades deliver fuel savings; the algorithm, instead of calculating fuelsaving, will deliver a recommendation to coast.

A vehicle-specific family of characteristics can be either OEM-provided,or in the case of aftermarket application, estimates can be generatedusing the technique described herein.

Ultimately, the algorithm may allow the driver to sacrifice somefraction of the total travel time to save a specific amount (orpercentage) of the fuel.

Frequent changes in recommended speed where the road profile frequentlychanges may not be practical, and may be distracting for the driver.Such a scenario may not be desired even if the commanded change invelocity is executed automatically, as the frequent accelerations anddecelerations not only create discomfort but result in extra fuelconsumption being ignored by a theoretical model that assumesquasi-constant (cruising) velocity. In short, some type of the roadprofile pattern recognition technique is highly desirable to establish acompromise between instant change in fuel consumption in response toinstant change in the road grade, and a grand average approach, whereinstant grade would be replaced with the average road grade calculatedas a ratio of the difference between elevations of end and startingpoint, divided by the distance between start and the target.

An example of the technique which might be used to divide the travelingdistance into sections with constant cruising speed is given below. Itmay be arbitrarily assumed that changing the speed (to maintain constantdesired fuel saving) over distances shorter than 1000 m may not bepractical due to distraction and too frequent acceleration, which may becounter-productive from the perspective of fuel saving.

The common sense suggests that, generally, long uphill sections shouldbe separated (different sections) from long downhills, and that theflat, or nearly flat long load sections, should be separated from bothlong downhill and long uphill sections. Also, since the gravitycompensates for additional engine-generated propulsion force, withoutany calculations one may predict that rolling downhill with higher speed(within the speed limit) will be always advised, and consequently, aninitiation of acceleration should be performed on a downhill sloperather than at the crest.

The above listed observations may lead to an initial “patternrecognition algorithm” (i.e., “driver's commonsense choice”), which isillustrated in FIGS. 9A and 9B, and which can be disputed—and possiblyimproved—by referencing “a wiser” choice. The marked sections ofconstant cruising velocity were selected arbitrarily using a fuzzydefined common-sense approach. The FIGS. 9A and 9B represent nearly 18km section of the freeway covered twice, in opposite directions.Consequently, the distance and elevation differential of both distancesare almost identical, however the boundaries of individual sections maynot coincide on the way out and back.

The logic of “machine-based” pattern recognition technique seeksefficient finding of major road crests, and formulates criteria allowingto ignore some local “road bumps.” The initial intense filtering of theGPS-provided road elevation signal combined with re-sampling (for theillustration of the approach, elevation signal may be re-sampled at 100m distances) still delivers too many crests for the “smooth” operationof the cruising algorithm. Therefore, subsequently, the crests andvalleys were identified independently by calculating the elevationdifferential. Results are depicted in FIGS. 10A and 10B, where localmaxima and minima of the elevation trace are marked.

All starts of the downslopes were intentionally pushed downhill by thearbitrarily selected distance equal to 100 m. The best selection forthis “start of the downhill” distance delay can be verifiedtheoretically for individual type of vehicles using engine/vehiclemodels (e.g., GT Power). Over-reaction to road grade changes may bedetrimental for the algorithm, as too frequent changes in the vehiclespeed results with undesired fuel consumption. Theoretical modeling ofthis effect may deliver “context optimal” distances for minimum distanceover which saving resulted from moderate speed prevails over losses fromnecessity of engaging acceleration.

To illustrate the idea of that compromise, and to demonstrate that thiscan be done with even a very crude logic, it may be assumed that thetravel distance between commands requesting a change in a currentcruising velocity may not be shorter than 1000 m. This, together withthe removal of clusters representing short-distance-spaced conversionsof valleys into crests and vice-versa, led to the results presented inFIGS. 11A and 11B, which illustrate, step by step, a pattern recognitionfiltering technique.

FIG. 11A shows the sectioning technique illustrated on the sample of theroad profile covering the distance of approximately 18 km. The graph onthe left is identical to FIG. 9A, and the upper graph at the right isidentical to FIG. 10A, both assembled for convenience to compare to theresults of an “automated pattern recognition technique,” the results ofwhich are illustrated at the right bottom.

FIG. 11B shows the sectioning technique illustrated on the sample of theroad profile covering distance of approx. 18 km. The graph on the leftis identical to FIG. 9B, and the upper graph at the right is identicalto FIG. 10B, both assembled for convenience to compare to the results ofan “automated pattern recognition technique,” the results of which areillustrated at the right bottom.

Despite some discrepancies in selection of constant cruising sectors,both algorithms, when validated in practice, delivered surprisinglyalmost identical results. FIG. 12 illustrates cumulative fuelconsumption on the road section B represented in FIG. 11B is given belowtogether with the result representing reference drive with the speedlimit 70 mph, with the reference being the upper line, thescript-generated sectors being the middle line, and the manuallyselected sectors being the lower line.

In some embodiments, the system 100 may be configured to receive vehicleposition data. For example, the PAC may receive the vehicle positiondata may from GPS 126. In some embodiments, the PAC 124 may receive thevehicle position data from the remote computing device 132.

The system 100 may be configured to receive planned route data. In someembodiments, the planned route data may be received from navigationalsoftware. For example, the PAC 124 may receive the planned route datafrom the remote computing device 132, on which a planned route has beengenerated.

The system 100 may be configured to determine a projected route. In someembodiments, determining the projected route may be based at least inpart on the planned route data. For example, determining the projectedroute may be as simple as receiving the planned route. In someembodiments, determining the projected route may be based at least inpart on the vehicle position data. For example, if the vehicle 10 is ona highway with little of interest for at least 30 kilometers, the PACmay determine that the projected route is continuing on the highway for30 kilometers. In some embodiments, determining the projected route maybe based at least in part on historical analysis of user travel. Forexample, if a user has driven the same route at the same time of day onmany occasions, the projected route may be determined based on theassumption that the user is taking the same route.

The system 100 may be configured to receive route characteristic dataincluding at least route elevation data. For example, the PAC 124 mayreceive the route characteristic data from a storage device. In someembodiments, the route elevation data may include the elevation atmultiple points along the projected route. In some embodiments, theroute characteristic data may further include road curvature data. Insome embodiments, the route characteristic data may further includesignage data. Examples of road curvature data may include one or more ofcurvature of the road along the length of the road and curvature of theroad across the road (i.e., the extent to which the road is crowned orsloped). In some embodiments, the route characteristic data may furtherinclude road surface condition data. Examples of road surface conditiondata may include coefficients of friction, road rolling resistancecontribution, existence of known potholes, and recent icy conditions. Insome embodiments, the route characteristic data further includes weatherdata. Examples of weather data may include whether it rained recently,whether it snowed recently, and whether fog is impeding visualidentification of other vehicles. In some embodiments, the routecharacteristic data further includes speed limit data. In someembodiments, the route characteristic data further includes trafficdata.

The system 100 may be configured to receive vehicle characteristic data.For example, the PAC 124 may receive vehicle characteristic data fromthe remote computing device 132 or a storage device. In someembodiments, the vehicle characteristic data may include vehicleaerodynamics. In some embodiments, the vehicle characteristic data mayinclude vehicle mass. In some embodiments, the vehicle characteristicdata may include vehicle fuel consumption profiles. In some embodiments,the vehicle fuel consumption profiles may be based on EnvironmentalProtection Agency (EPA) fuel economy test. In some embodiments, thevehicle fuel consumption profiles may be based off of a historicalanalysis of past vehicle fuel consumption.

The system 100 may be configured to determine a sampling resolution. Forexample, the PAC 124 may determine the sampling resolution based on avalue received from a storage device. In some embodiments, determiningthe sampling resolution may be based at least in part on the vehiclecharacteristic data.

The system 100 may be configured to sample the route elevation data atthe sampling resolution to generate sampled route elevation data. Forexample, the PAC 124 may sample the route elevation data every 100 m toproduce the sampled route elevation data.

The system 100 may be configured to receive a fuel savings target. Forexample, the operator of the vehicle may enter a desired fuel savingstarget (e.g., 5%, 10%, etc.) via the HMI controls 104, which the PAC 124subsequently receives. In some embodiments, determining the fuel savingstarget may include retrieving a value (e.g., 100 m) from a storagedevice.

The system 100 may be configured to determine a start of uphill delay.In some embodiments, determining the start of uphill delay may be basedat least in part on the vehicle characteristic data. In someembodiments, determining the start of uphill delay may includeretrieving a value (e.g., 100 m) from a storage device.

The system 100 may be configured to determine a start of downhill delay.In some embodiments, determining the start of uphill delay may be basedat least in part on the vehicle characteristic data. In someembodiments, the PAC 124 may determine the start of downhill delay byretrieving a value (e.g., 100 m) from a storage device.

The system 100 may be configured to determine at least one start ofuphill position and at least one start of downhill position based atleast in part on the sampled route elevation data. In some embodiments,the at least one start of uphill position may be two start of uphillpositions, three start of uphill positions, four start of uphillpositions, five start of uphill positions, or more. In some embodiments,the at least one start of downhill position may be two start of downhillpositions, three start of downhill positions, four start of downhillpositions, five start of downhill positions, or more. For example, thePAC 124 may determine the at least one start of uphill position and theat least one start of downhill position by analyzing the sampled routeelevation data and comparing elevations of different points to determinelocal crests and valleys. In some embodiments, determining the at leastone start of uphill position and the at least one start of downhillposition is performed through automated pattern recognition. In someembodiments, the at least one start of start of uphill position may beadjusted forward along the projected route by a distance equal to thestart of uphill delay (e.g., 100 m). In some embodiments, the at leastone start of start of uphill positions may be adjusted forward along theprojected route by a distance equal to the start of uphill delay (e.g.,100 m).

The system 100 may be configured to determine a minimum speed changedistance. In some embodiments, determining the start of uphill delay maybe based at least in part on the vehicle characteristic data. In someembodiments, determining the start of uphill delay may include the PAC124 receiving a value (e.g., 1000 m) from a storage device. In someembodiments, the minimum speed change distance may be based on vehiclecharacteristic data.

The system 100 may be configured to determine at least one cruise speedroute segment based at least in part on the at least one start of uphillposition and the at least one start of downhill position. In someembodiments, the at least one cruise speed route segment may be twocruise speed route segments, three cruise speed route segments, fourcruise speed route segments, five cruise speed route segments, or more.For example, the PAC 124 may determine the at least one cruise speedroute segment by starting at one start of downhill position and endingat one start of uphill position. In some embodiments, determining the atleast one cruise speed route segment may be further based on the minimumspeed change distance. For example, the at least one cruise speed routesegment may be limited to be at least 1000 m. Requiring the at least onecruise speed route segment to the minimum speed change distance mayincrease the likelihood of operator compliance and reduce fuel costs byavoiding regular acceleration.

The system 100 may be configured to determine a corresponding cruisingspeed for the at least one cruise speed route segment based at least inpart on one or more of the route elevation data and the sampled routeelevation data. In embodiments where there are more than one cruisespeed route segments, more corresponding cruising speeds may bedetermined. For example, the PAC 124 may determine that, for a generallydownhill cruise speed route segment, the corresponding cruising speed is65 miles per hour, while for a generally uphill cruise speed routesegment, the corresponding cruising speed is 60 miles per hour. In someembodiments, determining the corresponding cruising speed for the atleast one cruise speed route segment may be further based on the vehiclecharacteristic data. In some embodiments, determining the correspondingcruising speed for the at least one cruise speed route segment may befurther based on the fuel savings target. For example, with a fuelsavings target of 5%, the corresponding cruising speed for an exemplarycruise speed route segment may be 65 miles per hour, while with a fuelsavings target of 10%, the corresponding cruising speed for theexemplary cruise speed route segment may be 60 miles per hour. In someembodiments, determining the corresponding cruising speed for the atleast one cruise speed route segment may be further based on the roadcurvature data. For example, if there is a curve in a cruise speed routesegment that would be unsafe to navigate at 70 miles per hour but safeto navigate at 65 miles per hour, and the corresponding cruising speedwould otherwise be 70 miles per hour, the corresponding cruising speedcould be set to 65 miles per hour. In some embodiments, determining thecorresponding cruising speed for the at least one cruise speed routesegment is further based on the road surface condition data. Forexample, if there is a set of potholes in a cruise speed route segmentthat would be unsafe to navigate at 70 miles per hour but safe tonavigate at 60 miles per hour, and the corresponding cruising speedwould otherwise be 70 miles per hour, the corresponding cruising speedcould be set to 60 miles per hour. In some embodiments, determining thecorresponding cruising speed for the at least one cruise speed routesegment may be further based on the weather data. For example, if thereis fog that limits visibility and the cruise speed route segment wouldbe unsafe to navigate at 70 miles per hour but safe to navigate at 55miles per hour, and the corresponding cruising speed would otherwise be70 miles per hour, the corresponding cruising speed could be set to 55miles per hour. In some embodiments, determining the correspondingcruising speed for the at least one cruise speed route segment may befurther based on the speed limit data. For example, if the speed limitis 55 miles per hour and the corresponding cruising speed wouldotherwise be 65 miles per hour, the corresponding cruising speed couldbe set to 55 miles per hour. In some embodiments, determining thecorresponding cruising speed for the at least one cruise speed routesegment may be further based on the traffic data. For example, iftraffic is moving at 65 miles per hour and the corresponding cruisingspeed would otherwise be 70 miles per hour, the corresponding cruisingspeed could be set to 65 miles per hour.

The system 100 may be configured to communicate the correspondingcruising speed for the at least one cruise speed route segment. Forexample, in embodiments where the system 100 includes an audio varietyof the additional output device 134, the PAC 124 may send a signal tocause an audio variety of the additional output device 134 to produce anaudible signal suggesting that the operator change the cruise control tothe corresponding cruising speed (e.g., an audible “coast at 67 milesper hour”). In embodiments where the system includes the display 122,the PAC 124 may send a signal to cause the display to present a visualindicator (e.g., a written message such as “coast at 67 miles perhour”).

A challenge for presenting recommendations to an operator is to do so ina manner that is intuitive and presents a minimal amount of distraction.Thus, an exemplary intelligent driving application (application) may bedesigned to provide recommendations in an intuitive manner whileminimizing distractions and function on a vehicle or in a stand-aloneenvironment (i.e. on a smart-device, such as a smartphone or smarttablet). The application utilizes the device's computing resources,onboard localization, and wireless communication hardware to fulfill anfuel economy optimizing task.

A method 1400 for using the application (at 1402), is illustrated inFIG. 14 , in which a user may introduce vehicle characteristics of theirvehicle (mass, drag coefficients, engine and gearbox parameters, etc.)either manually (at 1404) or by entering the vehicle's VIN number (at1406), which the device may use to download detailed vehiclecharacteristics from a public or proprietary database using a cellularor WI-FI connection (at 1408). Vehicle characteristics may include (butare not limited to): empty mass, drag coefficients, EPA standardizedfuel consumption, gearbox ratios.

As illustrated in FIG. 15 , a further method 1500 for using theapplication is presented (at 1502), in which the operator may or may notenter their destination (at 1504). In cases where a destination isentered, the application may determine a corresponding route, dependingon available traffic and/or road profile information (at 1506). In caseno destination is entered, the application may compute recommendationson the most probable short-term path the vehicle is likely to take(receding horizon) (at 1508). The application may receive informationpertaining to the surrounding road characteristics, for example througha resident map and/or by real-time downloading map and trafficinformation as desired. Road characteristics may include (but are notlimited to): speed limits, signalization (stop signs, traffic lights,etc.), road slope (grade), curvature radius, etc.

Real-time traffic light information, if available through cellularnetwork in the future, can augment the optimization by modulating therecommended speed in order to achieve a “green wave” effect (i.e., toavoid having to brake and accelerate for traffic lights, instead timingthem such that the vehicle 10 goes through traffic lights withoutneeding to decelerate).

The application may be aware of the vehicle position, speed, anddirection in real-time through its on-board GNSS equipment (e.g., GPS;as used herein, GPS is inclusive of any GNSS equipment), potentiallyaugmented by sensor data from embedded accelerometers and/or gyroscopesand/or compasses. The position may also be corrected by using mapinformation (i.e., map-matching). In case the GNSS signal is lost orintermittent, the application may extrapolate the information untilabsolute position is returned.

The application may also communicate with the vehicle via an optionalOBD-adapter, to retrieve vehicle real-time information like speed, load,temperatures, battery state of change, and injected fuel quantities toaugment the optimization parameters.

The application may also have self-learning algorithms to adjustpreloaded parameters, such as actual current vehicle mass, actual roadload coefficients, and actual fuel consumption.

If the destination is known, the application may pre-calculate thecorresponding speed along the route and retrieve and display therecommendations based on the current position and speed of the vehicleon the route. These recommendations may be scaled and formattedaccording to human-machine interface principles described within theapplication.

This technique may allow for improved optimization, especially if thevehicle has a hybrid or electric powertrain, as advance knowledge ofenergy recuperation potential can assist with optimizing batterystate-of-charge over the complete route.

If a destination is unknown, the application may calculate the optimumspeed over a certain look-ahead distance by identifying the mostprobable path. The application may also calculate an optimum speed to afollowing intersection.

The application may also collect multiple geolocation parameters andupload them into cloud storage via cellular or WI-FI connection forfuture use and/or statistical purposes.

The collected parameters could, for example, be used to build operatorprofiles, fuel consumption maps, speed profiles, etc. through dataanalytics methods.

The collected and processed information could also be accessed by theapplication to further optimize the recommendations, for example forconsumption based route selection criteria, real-world speed profileknowledge, etc.

An example of a method 1600 for using the application is illustrated inFIG. 16 .

It may be desirable that a system provide a visual driving speed followseveral principles. It may be desirable that the system not requireactive user input during driving.

It may be desirable that all basic configuration be done before drivingand limited to the minimum (e.g. vehicle selection in case severalvehicles are used). If the application can receive advance knowledge ofthe operator's intended route, inputting the destination before startingthe trip is recommended (i.e., as done in common navigation apps).

It may be desirable that the system provide driving recommendations thatare “safe” (i.e., safe to follow) and avoid giving instructions that theoperator may subconsciously follow and that may lead to a dangeroussituation (e.g., “accelerate” or “break”). Other instructions like“coast now” or “slow down” recommend reducing the vehicle's speed in asoft manner and are thus less likely to cause unsafe situations.

It may be desirable that the driving recommendations be unambiguous. Theinstruction should clearly indicate what the operator should do (e.g.coast, maintain the speed, etc.) without need for interpretation. Thisis especially true for speed recommendations where it may be desirablethat the user is always aware if they are in the recommended speedrange.

It may be desirable that the system avoid presenting textualinformation. To be intuitive, it may be desirable that the visualinterface not include written text except as necessary: e.g. currentspeed limit.

It may be desirable that the system prioritize relevant information suchthat the most relevant information takes precedence over lower priorityindications (e.g. “speed limit exceeded” has priority over a recommendedcruise speed indication).

It may be desirable that the system include tolerance and smoothness inits function. It may be desirable that, except for binary indications(e.g. coast), the visual display should show a tolerance band that maybe updated smoothly (without discontinuities) to allow the operator tofollow the recommendation.

The system may communicate with the user (operator) through one or morechannels, including a visual display and an acoustic output. The visualdisplay may be based on a mobile device's screen. The mobile device maybe placed on a mount that places it preferably in the operator's fieldof vision without obstructing view of traffic. It may be desirable thatthe mobile device be in the operator's near peripheral vision.

In some embodiments, color coding may reflect standard traffic lightschemes (green-yellow-red) for clear message interpretation. Additionalcolors may indicate special recommendations. For binary events andimmediate warnings, an acoustic message may be more appropriate tocapture the user's attention and minimize visual distraction. Generally,the acoustic signal may also be coupled to a visual clue. The acousticmessage can either be an appropriate and intuitive sound (e.g. bellsound for speed warning) or a synthetic voice message in the user'spreferred language. It may be desirable that the application relaymessages through the vehicles hands-free system to improve readability.Acoustic messages may be limited to the minimum to avoid distraction andannoyance and may be configurable to be disabled.

FIGS. 17A-17H show various configurations of a display zone 1700presented on a display for providing a visual driving speedrecommendation to an operator of a vehicle. A first indicator 1702indicates a current speed and is located centrally within the displayzone. An example of the first indicator 1702 is a vertical blue line. Afirst pattern 1704 indicates a corresponding energy efficient speed. Inthe context of this disclosure, a speed may include a speed range. Asdiscussed within this disclosure, a pattern may be a solid color. Anexample of the first pattern 1704 is solid green. Other patterns may benon-color patterns, which can provide utility to operators who arecolorblind. For example, the patterns could be stripes, X's, O's, +'s,etc. A second pattern 1706 indicates a higher corresponding less energyefficient speed. An example of the second pattern 1706 is solid yellow.A first pattern range 1708 is located between the first pattern 1704 andthe second pattern 1706 and indicates a transition range between thecorresponding energy efficient speed and the higher corresponding lessenergy efficient speed. An example of the first pattern range 1708 wouldbe a range that smoothly transitions from green to yellow with nosubstantial discontinuities. For the purposes of this disclosure,indicators, such as the first indicator, are not considered to bediscontinuities in the smooth transition. An example of a pattern rangeinvolving symbols would be a pattern where O's “fade into” X's or whereO's grow smaller and X's grow larger between two zones of pure O's andpure X's. A third pattern 1709 indicates an impractically low speed. Anexample of the third pattern 1709 is solid black. A second pattern range1710 indicates a transition range between the impractically low speedand the corresponding energy efficient speed. An example of the secondpattern range 1710 would be a range that smoothly transitions from blackto green with no substantial discontinuities. A second indicator 1712indicates an upper speed limit. An example of the second indicator 1712is a vertical red line. A third indicator (not shown) may indicate alower speed limit (i.e., on many interstate highways, 45 miles per houris the lower speed limit). The lower speed limit may be a vertical line.A fourth pattern 1714 indicates an overspeed tolerance speed (i.e., aspeed higher than the speed limit that functions as an upper bound forspeed). An example of the fourth pattern 1714 is solid red. A thirdpattern range 1716 indicates a transition range between the highercorresponding less energy efficient speed and the overspeed tolerancespeed. An example of the third pattern range 1716 would be a range thatsmoothly transitions from yellow to red with no substantialdiscontinuities. In some embodiments, a fifth pattern 1718 indicates acoasting speed, in which a vehicle will coast at about the same speedwithout gaining or losing speed. An example of the fifth pattern 1718would be solid white. In some embodiments, a sixth 1720 patternindicates a sub-coast speed (i.e., a speed in which the operator wouldbe accelerating due to gravity or actively braking to maintain thatspeed). An example of the sixth pattern would be solid blue. A fourthpattern range 1722 indicates a transition range between the sub-coastspeed and the coasting speed. An example of the third pattern range 1716would be a range that smoothly transitions from blue to white with nosubstantial discontinuities.

FIG. 17A illustrates the display zone 1700 in a configuration where thefirst indicator 1702 corresponding to the current speed lies within thefirst pattern 1704 corresponding to the corresponding energy efficientspeed. The operator of the vehicle can observe that they are in thedesired speed range.

FIG. 17B illustrates the display zone 1700 in a configuration where thefirst indicator 1702 corresponding to the current speed lies within thesecond pattern 1706 corresponding to the higher corresponding lessenergy efficient speed. The operator of the vehicle can observe thattheir speed is higher than the desired speed range.

FIG. 17C illustrates the display zone 1700 in a configuration where thefirst indicator 1702 corresponding to the current speed lies within thethird pattern 1709 corresponding to an impractically low speed. Theoperator of the vehicle can observe that their speed is lower than thedesired speed range.

FIG. 17D illustrates the display zone 1700 in a configuration where thevehicle is traveling on flat ground. The first indicator 1702corresponding to the current speed lies within the first pattern 1704corresponding to the corresponding energy efficient speed, and theoperator of the vehicle can observe that they are in the desired speedrange.

FIG. 17E illustrates the display zone 1700 in a configuration where thevehicle is traveling uphill. The first pattern 1704, second pattern1706, and third pattern 1709 have shifted to the left in response to thevehicle traveling uphill. The first indicator 1702 corresponding to thecurrent speed lies within the second pattern 1706 corresponding to thehigher corresponding less energy efficient speed, and the operator ofthe vehicle can observe that their speed is higher than the desiredspeed range.

FIG. 17F illustrates the display zone 1700 in a configuration where thevehicle is traveling downhill. The first pattern 1704, second pattern1706, and third pattern 1709 have shifted to the right in response tothe vehicle traveling downhill. The first indicator 1702 correspondingto the current speed lies within the third pattern 1709 corresponding toan impractically low speed, and the operator of the vehicle can observethat their speed is lower than the desired speed range.

FIG. 17G illustrates the display zone 1700 in a configuration where thevehicle is coasting downhill, such that there is no corresponding energyefficient speed to adjust the vehicle to, as any increase would requirefuel that is not necessary and potentially push the vehicle over thespeed limit.

FIG. 17H illustrates the display zone 1700 in a configuration where thecurrent speed of the vehicle has met or exceeded the overspeed tolerancespeed, and the display zone 1700 has changed to match the fourth pattern1714. The operator of the vehicle can easily observe that they arespeeding.

The system 100 may be configured to determining a current speed. In someembodiments, the PAC 124 may receive the current speed from the vehiclesensors 108. In some embodiments, the PAC 124 may calculate the currentspeed based on the vehicle position data obtained by the GPS 126.

The system 100 may be configured to determine a corresponding energyefficient speed. In some embodiments, the corresponding energy efficientspeed may be based at least in part on vehicle characteristics data(e.g., vehicle mass, fuel consumption profiles, etc.) In someembodiments, the corresponding energy efficient speed may be based atleast in part on route characteristic data (elevation, road curvature,road surface information, weather, speed limit, etc.). For example, thePAC 124 may receive vehicle characteristic data and route characteristicdata and determine the corresponding energy efficient speed.

The system 100 may be configured to determine a higher correspondingless energy efficient speed. In some embodiments, the highercorresponding less energy efficient speed is determined based on thespeed limit. For example, the PAC 124 may receive speed limitinformation from the remote computing device 132 and determine that thehigher corresponding less energy efficient speed is equal to the speedlimit.

The system 100 may be configured to determine a first transition rangebetween the corresponding energy efficient speed and the highercorresponding less energy efficient speed. The PAC 124 may determinethis by comparing the corresponding energy efficient speed and thehigher corresponding less energy efficient speed.

The system 100 may be configured to display, on a display, a displayzone. For example, the PAC 124 may transmit a signal to the display 122to cause the display 122 to show the display zone and its contents. Insome embodiments, the display zone may include a first indicatorcorresponding to the current speed. In some embodiments, the firstindicator is a vertical line. In some embodiments, the first indicatoris at a fixed position within the display zone. In some embodiments, thefixed position is located centrally within the display zone. In someembodiments, the first indicator may be an arrow. In some embodiments,the display zone may include a first pattern corresponding to thecorresponding energy efficient speed. In some embodiments, the firstpattern is green. In some embodiments, the display zone may include asecond pattern different from the first pattern and corresponding to thehigher corresponding less energy efficient speed. In some embodiments,the second pattern is yellow. In some embodiments. In some embodiments,the display zone may include a first pattern range therebetweencorresponding to the first transition range. In some embodiments,patterns of the first pattern range are in a range between the firstpattern and the second pattern and the first pattern range provides nosubstantial discontinuities between the first pattern and the secondpattern.

The system 100 may be configured to determine an impractically low speedrange. In some embodiments, the PAC 124 may determine the impracticallylow speed range based on speed limit information (e.g., a givenpercentage of the speed limit or flat speed value below the speedlimit).

The system 100 may be configured to determine a second transition rangebetween the impractically low speed and the corresponding energyefficient speed. The PAC 124 may determine the second transition rangeby comparing the impractically low speed and the corresponding energyefficient speed.

The system 100 may be configured to present, in the display zone, athird pattern different from the first pattern and corresponding to theimpractically low speed. In some embodiments, the third pattern isblack. For example, the PAC 124 may send a signal to the display 122 todisplay the third pattern.

The system 100 may be configured to present, in the display zone asecond pattern range disposed between the third pattern and the firstpattern and corresponding to the second transition range. For example,the PAC 124 may send a signal to the display 122 to cause the display122 to display the second pattern range. In some embodiments, patternsof the second pattern range are in a range between the first pattern andthe third pattern and the first pattern range provides no substantialdiscontinuities between the first pattern and the third pattern.

The system 100 may be configured to determine an upper speed limit. Forexample, the PAC 124 may determine the upper speed limit. In someembodiments, the upper speed limit may be based on speed limitinformation (i.e., the speed limit for that part of the route is theupper speed limit).

The system 100 may be configured to present, in the display zone, asecond indicator corresponding to the upper speed limit. For example,the PAC 124 may send a signal to display 122 to display the secondindicator. In some embodiments, the second indicator is a vertical line.

The system 100 may be configured to determine a lower speed limit. Forexample, the PAC 124 may determine the lower speed limit. In someembodiments, the lower speed limit may be based on speed limitinformation. For example, many highways in the United States have aminimum speed limit of 45 miles per hour.

The system 100 may be configured to present, in the display zone, athird indicator corresponding to the lower speed limit. For example, thePAC 124 may send a signal to the display 122 to display the thirdindicator. In some embodiments, the third indicator is a vertical line.

The system 100 may be configured to determine an overspeed tolerancespeed. For example, the PAC 124 may determine the overspeed tolerancespeed by multiplying the speed limit or the upper speed limit by afactor (e.g., multiplying the speed limit by 1.1) or adding a set valueto the speed limit (e.g., 5 miles per hour).

The system 100 may be configured to determine a third transition rangebetween the overspeed tolerance speed and the higher corresponding lessenergy efficient speed. For example, the PAC 124 may determine the thirdtransition range by comparing the overspeed tolerance speed and thehigher corresponding less energy efficient speed.

The system 100 may be configured to present, in the display zone, afourth pattern different from the second pattern and corresponding tothe overspeed tolerance speed. For example, the PAC 124 may send asignal to the display 122 to display the fourth pattern. In someembodiments, the fourth pattern is red.

The system 100 may be configured to present, in the display zone, athird pattern range disposed between the second pattern and the fourthpattern and corresponding to the third transition range. For example,the PAC 124 may send a signal to the display 122 to display the thirdpattern range. In some embodiments, the patterns of the third patternrange are in a range between the second pattern and the fourth pattern,and the third pattern range provides no substantial discontinuitiesbetween the second pattern and the fourth pattern.

FIG. 3 generally illustrates a computing device 300 according to theprinciples of the present disclosure. The computing device 300 may beconfigured to perform various operations and methods. The computingdevice 300 may include a processor 302 configured to control the overalloperation of computing device 300 and a memory 314 containinginstructions that, when executed by the processor 302, cause theprocessor to perform a variety of operations. It should be understoodthat the processor 302 (e.g., and/or any processors described herein)may include any suitable processor, including those described herein.The memory 314 may include Random Access Memory (RAM), a Read-OnlyMemory (ROM), or a combination thereof. In some embodiments, either orboth of a storage device 310 and the memory 314 may include flashmemory, semiconductor (solid state) memory or the like. Either or bothof the storage device 310 and the memory 314 may include Random AccessMemory (RAM), a Read-Only Memory (ROM), or a combination thereof. Thememory 314 may store programs, utilities, or processes to be executed inby the processor 302. The memory 314 may provide volatile data storage,and stores instructions related to the operation of the computingdevice.

The computing device 300 may also include a user input device 304 thatmay be configured to receive input from a user of the computing device300 and to communicate signals representing the input received from theuser to the processor 302. For example, the user input device 304 mayinclude a button, keypad, dial, touch screen, audio input interface,visual/image capture input interface, input in the form of sensor data,etc.

The computing device 300 may include an output device 306 (e.g., adisplay screen, speaker, or any other suitable output device) that maybe controlled by the processor 302 to present information to the user. Adata bus 308 may be configured to facilitate data transfer between atleast a storage device 310 and the processor 302. The computing device300 may also include a network interface 312 configured to couple orconnect the computing device 300 to various other computing devices ornetwork devices via a network connection, such as a wired or wirelessconnection. In some embodiments, the network interface 312 includes awireless transceiver.

The storage device 310 may include a single disk or a plurality of disks(e.g., hard drives), one or more solid-state drives, one or more hybridhard drives, and the like. The storage device 310 may include a storagemanagement module that manages one or more partitions within the storagedevice 310.

In some embodiments, the computing device 300 may be in the vehicle 10.In some embodiments, the computing device 300 may be proximate to thevehicle 10. In some embodiments, the computing device 300 may be remotefrom the vehicle 10. In some embodiments, the computing device 300 maybe in the vehicle. In some embodiments, instructions are stored onmemory 314, that, when executed by the processor 302, cause theprocessor to perform the steps of the methods described herein.

In some embodiments, the computing device 300 may include additional,fewer, or other components, than those described with respect to andillustrated in FIG. 3 . In some embodiments, the computing device 300may perform more or fewer functions than those described above.

In some embodiments the computing device 300 may be configured toreceive vehicle position data. For example, the processor 302 mayreceive the vehicle position data from GPS 316. For example, the vehicleposition data may be received by the PAC from via the network interface312.

The computing device 300 may be configured to receive vehiclecharacteristic data. For example, the processor 302 may retrieve vehiclecharacteristic data from the storage device 310. In some embodiments,the vehicle characteristic data may include vehicle aerodynamics. Insome embodiments, the vehicle characteristic data may include vehiclemass. In some embodiments, the vehicle characteristic data may includevehicle fuel consumption profiles. In some embodiments, the vehicle fuelconsumption profiles may be based on one or more EnvironmentalProtection Agency (EPA) fuel economy tests. In some embodiments, thevehicle fuel consumption profiles may be based off of a historicalanalysis of past vehicle fuel consumption.

The computing device 300 may be configured to receive planned routedata. For example, the processor 302 may receive the planned route datafrom the network interface 312, on which a planned route has beengenerated. In some embodiments, the planned route data may be receivedfrom navigational software operating on the processor 302.

The computing device 300 may be configured to determine a projectedroute based at least in part on the vehicle position data. In someembodiments, determining the projected route may be based at least inpart on the planned route data. For example, the processor 302 mayreceive the planned route data and determine that the projected route isthe planned route as based on the planned route data. In someembodiments, determining the projected route may be based at least inpart on the vehicle position data. In some embodiments, determining theprojected route may be based at least in part on historical analysis ofoperator travel. For example, if an operator has driven the same routeat the same time of day on many occasions, the projected route may bedetermined based on the assumption that the user may be taking the sameroute.

The computing device 300 may be configured to receive routecharacteristic data. For example, the processor 302 may receive routecharacteristic data from the remote computing device. In someembodiments, the route characteristic data includes elevation data. Insome embodiments, the route characteristic data includes signageinformation (e.g., location of stop signs, timing of stop lights, etc.).In some embodiments, the route elevation data may include the elevationat multiple points along the projected route. In some embodiments, theroute characteristic data may further include road curvature data.Examples of road curvature data may include one or more of curvature ofthe road along the length of the road and curvature of the road acrossthe road (i.e., the extent to which the road may be crowned or sloped).In some embodiments, the route characteristic data may further includeroad surface condition data. Examples of road surface condition data mayinclude coefficients of friction, road rolling resistance contribution,existence of known potholes, and recent icy conditions. In someembodiments, the route characteristic data further includes weatherdata. Examples of weather data may include whether it rained recently,whether it snowed recently, and whether fog may be impeding visualidentification of other vehicles. In some embodiments, the routecharacteristic data further includes speed limit data. In someembodiments, the route characteristic data further includes trafficdata.

The computing device 300 may be configured to determine a first speedchange position and a first speed change target speed based at least inpart on the projected route. For example, the processor 302 maydetermine the first speed change position and the first speed changetarget speed. In some embodiments, determining the first speed changetarget speed may be based at least in part on the route characteristicdata. For example, the signage information may be used to identify astop sign or stoplight ahead. As another example, the speed limitinformation may be used to identify a speed reduction ahead. In someembodiments, determining the first speed change target speed may bebased at least in part on the traffic data. For example, the trafficdata may be used to identify a backup ahead. In some embodiments,determining the first speed change position may be based at least inpart on the route characteristic data.

The computing device 300 may be configured to determine a second speedchange position and a second speed change target speed based at least inpart on the projected route. For example, the processor 302 maydetermine the second speed change position and the second speed changetarget speed. In some embodiments, determining the second speed changetarget speed may be based at least in part on the route characteristicdata. For example, the signage information may be used to identify astop sign or stoplight ahead. As another example, the speed limitinformation may be used to identify a speed reduction ahead. In someembodiments, determining the first speed change target speed may bebased at least in part on the traffic data. For example, the trafficdata may be used to identify a backup ahead. In some embodiments,determining the first speed change position may be based at least inpart on the route characteristic data.

The computing device 300 may be configured to determine a first residualspeed and a first residual speed position based at least in part on thefirst speed change position and the first speed change target speed. Forexample, the first residual speed and first residual speed location maybe determined by the processor 302 by calculating based on a maximumdesired braking deceleration to a selected percentage of the speed limitfrom the first speed change position and the first speed change targetspeed. In some embodiments, determining the target speed profile may bebased at least in part on the traffic data. For example, the traffic maybe moving too fast to allow for a low first residual speed.

The computing device 300 may be configured to determine a secondresidual speed and a second residual speed position based at least inpart on the second speed change position and the second speed changetarget speed. For example, the second residual speed and second residualspeed location may be determined by the processor 302 calculating basedon a maximum desired braking deceleration to a selected percentage ofthe speed limit from the second speed change position and the secondspeed change target speed. In some embodiments, determining the targetspeed profile may be based at least in part on the traffic data. Forexample, the traffic may be moving too fast to allow for a low firstresidual speed.

The computing device 300 may be configured to determine a first lowerspeed tolerance (i.e., a speed below which the vehicle should not coastbelow; this speed may be adjusted lower as the first residual speedposition draws closer). In some embodiments, the first lower speedtolerance may be retrieved by the processor 302 from the storage device310 or received via the network interface 312. In some embodiments, thefirst lower speed tolerance may be determined based on speed limitinformation.

The computing device 300 may be configured to determine a second lowerspeed tolerance (i.e., a speed below which the vehicle should not coastbelow; this speed may be adjusted lower as the first residual speedposition draws closer). In some embodiments, the second lower speedtolerance may be retrieved by the processor 302 from the storage device310. In some embodiments, the second lower speed tolerance may bedetermined based on speed limit information.

The computing device 300 may be configured to determine a first lowerspeed envelope based at least in part on the first residual speed. Forexample, the processor 302 may determine the first lower speed envelope.For example, the first lower speed envelope may not pass below the firstresidual speed. In some embodiments, determining the first lower speedenvelope may be further based on the first lower speed tolerance. Forexample, the first lower speed envelope may not drop below the firstlower speed tolerance.

The computing device 300 may be configured to determine a second lowerspeed envelope based at least in part on the second residual speed and asecond lower speed tolerance. The processor 302 may determine the lowerspeed envelope. For example, the second lower speed envelope may notpass below the second residual speed. In some embodiments, determiningthe second lower speed envelope may be further based on the second lowerspeed tolerance. For example, the second lower speed envelope may notdrop below the second lower speed tolerance.

The computing device 300 may be configured to determine an overall lowerspeed envelope based at least in part on the first residual speed. Forexample, processor 302 may determine the overall lower speed envelope.In some embodiments, determining the overall lower speed envelope may befurther based on the second lower speed envelope such that the overalllower speed envelope is the lesser of the second lower speed envelopeand the second lower speed envelope.

The computing device 300 may be configured to determine an upper speedtolerance based at least in part on the speed limit information. Forexample, the processor 302 may determine the upper speed tolerance basedon the speed limit information. For example, in some embodiments, theupper speed tolerance may not exceed the speed limit, or may not exceedthe speed limit plus a fixed or percentage value over the speed limit.

The computing device 300 may be configured to determine an upper speedenvelope. For example, the processor 302 may determine the upper speedenvelope. In some embodiments, determining the upper speed envelope maybe based at least in part on the speed limit information. In someembodiments, the upper speed envelope may be based at least in part onthe upper speed tolerance.

The computing device 300 may be configured to determine a target speedprofile based at least in part on the first residual speed, the firstresidual speed position, the overall lower speed envelope, and the upperspeed envelope. For example, the processor 302 may determine the targetspeed profile. In some embodiments, the target speed profile lies abovethe overall lower speed envelope and below the upper speed envelope. Insome embodiments, determining the target speed profile may be furtherbased on the vehicle characteristic data. For example, the target speedprofile may change in view of vehicle weight, aerodynamics, etc.

The computing device 300 may be configured to determine a coast startpoint based at least in part on the target speed profile. For example,the processor 302 may calculate the coast start point by selecting thepoint on the target speed profile where the current speed intersects thetarget speed profile and the target speed profile does not pass abovethe upper speed envelope or below the overall lower speed envelope.

The computing device 300 may be configured to communicate the coaststart point to the operator of the vehicle. For example, in embodimentswhere the output device 306 includes a speaker, the processor 302 maysend a signal to cause the speaker to produce an audible signalindicating to start coasting now (e.g., an audible “coast now” or achime). In some embodiments where the output device 306 includes adisplay, the processor 302 may send a signal to cause the display topresent a visual indicator (e.g., a written message such as “coast now”or an image of a foot being lifted off of an accelerator).

In some embodiments, the computing device 300 may be configured toreceive vehicle position data. For example, the processor 302 mayreceive the vehicle position data may from GPS 316. In some embodiments,the processor 302 may receive the vehicle position data by way of thenetwork interface 312.

The computing device 300 may be configured to receive planned routedata. In some embodiments, the planned route data may be received fromnavigational software. For example, the processor 302 may receive theplanned route data from a remote computing device, on which a plannedroute has been generated.

The computing device 300 may be configured to determine a projectedroute. In some embodiments, determining the projected route may be basedat least in part on the planned route data. For example, determining theprojected route may be as simple as receiving the planned route. In someembodiments, determining the projected route may be based at least inpart on the vehicle position data. For example, if the vehicle 10 is ona highway with little of interest for at least 30 kilometers, theprocessor 302 may determine that the projected route is continuing onthe highway for 30 kilometers. In some embodiments, determining theprojected route may be based at least in part on historical analysis ofuser travel. For example, if a user has driven the same route at thesame time of day on many occasions, the projected route may bedetermined based on the assumption that the user is taking the sameroute.

The computing device 300 may be configured to receive routecharacteristic data including at least route elevation data. Forexample, the processor 302 may receive the route characteristic datafrom the storage device 310. In some embodiments, the route elevationdata may include the elevation at multiple points along the projectedroute. In some embodiments, the route characteristic data may furtherinclude road curvature data. In some embodiments, the routecharacteristic data may further include signage data. Examples of roadcurvature data may include one or more of curvature of the road alongthe length of the road and curvature of the road across the road (i.e.,the extent to which the road is crowned or sloped). In some embodiments,the route characteristic data may further include road surface conditiondata. Examples of road surface condition data may include coefficientsof friction, road rolling resistance contribution, existence of knownpotholes, and recent icy conditions. In some embodiments, the routecharacteristic data further includes weather data. Examples of weatherdata may include whether it rained recently, whether it snowed recently,and whether fog is impeding visual identification of other vehicles. Insome embodiments, the route characteristic data further includes speedlimit data. In some embodiments, the route characteristic data furtherincludes traffic data.

The computing device 300 may be configured to receive vehiclecharacteristic data. For example, the processor 302 may receive vehiclecharacteristic data by way of the network interface 312 or from thestorage device 310. In some embodiments, the vehicle characteristic datamay include vehicle aerodynamics. In some embodiments, the vehiclecharacteristic data may include vehicle mass. In some embodiments, thevehicle characteristic data may include vehicle fuel consumptionprofiles. In some embodiments, the vehicle fuel consumption profiles maybe based on Environmental Protection Agency (EPA) fuel economy test. Insome embodiments, the vehicle fuel consumption profiles may be based offof a historical analysis of past vehicle fuel consumption.

The computing device 300 may be configured to determine a samplingresolution. For example, the processor 302 may determine the samplingresolution based on a value received from the storage device 310. Insome embodiments, determining the sampling resolution may be based atleast in part on the vehicle characteristic data.

The computing device 300 may be configured to sample the route elevationdata at the sampling resolution to generate sampled route elevationdata. For example, the processor 302 may sample the route elevation dataevery 100 m to produce the sampled route elevation data.

The computing device 300 may be configured to receive a fuel savingstarget. For example, the operator of the vehicle may enter a desiredfuel savings target (e.g., 5%, 10%, etc.) via the user input device 304,which the processor 302 subsequently receives. In some embodiments,determining the fuel savings target may include retrieving a value(e.g., 100 m) from the storage device 310.

The computing device 300 may be configured to determine a start ofuphill delay. In some embodiments, determining the start of uphill delaymay be based at least in part on the vehicle characteristic data. Insome embodiments, determining the start of uphill delay may include theprocessor 302 retrieving a value (e.g., 100 m) from the storage device310.

The computing device 300 may be configured to determine a start ofdownhill delay. In some embodiments, determining the start of uphilldelay may be based at least in part on the vehicle characteristic data.In some embodiments, the processor 302 may determine the start ofdownhill delay by retrieving a value (e.g., 100 m) from the storagedevice 310.

The computing device 300 may be configured to determine at least onestart of uphill position and at least one start of downhill positionbased at least in part on the sampled route elevation data. In someembodiments, the at least one start of uphill position may be two startof uphill positions, three start of uphill positions, four start ofuphill positions, five start of uphill positions, or more. In someembodiments, the at least one start of downhill position may be twostart of downhill positions, three start of downhill positions, fourstart of downhill positions, five start of downhill positions, or more.For example, the processor 302 may determine the at least one start ofuphill position and the at least one start of downhill position byanalyzing the sampled route elevation data and comparing elevations ofdifferent points to determine local crests and valleys. In someembodiments, determining the at least one start of uphill position andthe at least one start of downhill position is performed throughautomated pattern recognition. In some embodiments, the at least onestart of start of uphill position may be adjusted forward along theprojected route by a distance equal to the start of uphill delay (e.g.,100 m). In some embodiments, the at least one start of start of uphillpositions may be adjusted forward along the projected route by adistance equal to the start of uphill delay (e.g., 100 m).

The computing device 300 may be configured to determine a minimum speedchange distance. In some embodiments, determining the start of uphilldelay may be based at least in part on the vehicle characteristic data.In some embodiments, determining the start of uphill delay may includethe processor 302 receiving a value (e.g., 1000 m) from the storagedevice 310. In some embodiments, the minimum speed change distance maybe based on vehicle characteristic data.

The computing device 300 may be configured to determine at least onecruise speed route segment based at least in part on the at least onestart of uphill position and the at least one start of downhillposition. In some embodiments, the at least one cruise speed routesegment may be two cruise speed route segments, three cruise speed routesegments, four cruise speed route segments, five cruise speed routesegments, or more. For example, the processor 302 may determine the atleast one cruise speed route segment by starting at one start ofdownhill position and ending at one start of uphill position. In someembodiments, determining the at least one cruise speed route segment maybe further based on the minimum speed change distance. For example, theat least one cruise speed route segment may be limited to be at least1000 m. Requiring the at least one cruise speed route segment to theminimum speed change distance may increase the likelihood of operatorcompliance and reduce fuel costs by avoiding regular acceleration.

The computing device 300 may be configured to determine a correspondingcruising speed for the at least one cruise speed route segment based atleast in part on one or more of the route elevation data and the sampledroute elevation data. In embodiments where there are more than onecruise speed route segments, more corresponding cruising speeds may bedetermined. For example, the processor 302 may determine that, for agenerally downhill cruise speed route segment, the correspondingcruising speed is 65 miles per hour, while for a generally uphill cruisespeed route segment, the corresponding cruising speed is 60 miles perhour. In some embodiments, determining the corresponding cruising speedfor the at least one cruise speed route segment may be further based onthe vehicle characteristic data. In some embodiments, determining thecorresponding cruising speed for the at least one cruise speed routesegment may be further based on the fuel savings target. For example,with a fuel savings target of 5%, the corresponding cruising speed foran exemplary cruise speed route segment may be 65 miles per hour, whilewith a fuel savings target of 10%, the corresponding cruising speed forthe exemplary cruise speed route segment may be 60 miles per hour. Insome embodiments, determining the corresponding cruising speed for theat least one cruise speed route segment may be further based on the roadcurvature data. For example, if there is a curve in a cruise speed routesegment that would be unsafe to navigate at 70 miles per hour but safeto navigate at 65 miles per hour, and the corresponding cruising speedwould otherwise be 70 miles per hour, the corresponding cruising speedcould be set to 65 miles per hour. In some embodiments, determining thecorresponding cruising speed for the at least one cruise speed routesegment is further based on the road surface condition data. Forexample, if there is a set of potholes in a cruise speed route segmentthat would be unsafe to navigate at 70 miles per hour but safe tonavigate at 60 miles per hour, and the corresponding cruising speedwould otherwise be 70 miles per hour, the corresponding cruising speedcould be set to 60 miles per hour. In some embodiments, determining thecorresponding cruising speed for the at least one cruise speed routesegment may be further based on the weather data. For example, if thereis fog that limits visibility and the cruise speed route segment wouldbe unsafe to navigate at 70 miles per hour but safe to navigate at 55miles per hour, and the corresponding cruising speed would otherwise be70 miles per hour, the corresponding cruising speed could be set to 55miles per hour. In some embodiments, determining the correspondingcruising speed for the at least one cruise speed route segment may befurther based on the speed limit data. For example, if the speed limitis 55 miles per hour and the corresponding cruising speed wouldotherwise be 65 miles per hour, the corresponding cruising speed couldbe set to 55 miles per hour. In some embodiments, determining thecorresponding cruising speed for the at least one cruise speed routesegment may be further based on the traffic data. For example, iftraffic is moving at 65 miles per hour and the corresponding cruisingspeed would otherwise be 70 miles per hour, the corresponding cruisingspeed could be set to 65 miles per hour.

The computing device 300 may be configured to communicate thecorresponding cruising speed for the at least one cruise speed routesegment. For example, in embodiments where the output device 306includes a speaker, the processor 302 may send a signal to cause thespeaker to produce an audible signal suggesting that the operator changethe cruise control to the corresponding cruising speed (e.g., an audible“coast at 67 miles per hour”). In embodiments where the computing device300 includes a display, the processor 302 may send a signal to cause thedisplay to present a visual indicator (e.g., a written message such as“coast at 67 miles per hour”).

The computing device 300 may be configured to determining a currentspeed. In some embodiments, the processor 302 may receive the currentspeed from the GPS 316 or by way of the network interface 312. In someembodiments, the processor 302 may calculate the current speed based onthe vehicle position data obtained by the GPS 316.

The computing device 300 may be configured to determine a correspondingenergy efficient speed. In some embodiments, the corresponding energyefficient speed may be based at least in part on vehicle characteristicsdata (e.g., vehicle mass, fuel consumption profiles, etc.) In someembodiments, the corresponding energy efficient speed may be based atleast in part on route characteristic data (elevation, road curvature,road surface information, weather, speed limit, etc.). For example, theprocessor 302 may receive vehicle characteristic data and routecharacteristic data and determine the corresponding energy efficientspeed.

The computing device 300 may be configured to determine a highercorresponding less energy efficient speed. In some embodiments, thehigher corresponding less energy efficient speed is determined based onthe speed limit. For example, the processor 302 may receive speed limitinformation by way of the network interface 312 and determine that thehigher corresponding less energy efficient speed is equal to the speedlimit.

The computing device 300 may be configured to determine a firsttransition range between the corresponding energy efficient speed andthe higher corresponding less energy efficient speed. The processor 302may determine this by comparing the corresponding energy efficient speedand the higher corresponding less energy efficient speed.

The computing device 300 may be configured to display, on a display, adisplay zone. For example, the processor 302 may transmit a signal to adisplay of the output device to cause the display to show the displayzone and its contents. In some embodiments, the display zone may includea first indicator corresponding to the current speed. In someembodiments, the first indicator is a vertical line. In someembodiments, the first indicator is at a fixed position within thedisplay zone. In some embodiments, the fixed position is locatedcentrally within the display zone. In some embodiments, the firstindicator may be an arrow. In some embodiments, the display zone mayinclude a first pattern corresponding to the corresponding energyefficient speed. In some embodiments, the first pattern is green. Insome embodiments, the display zone may include a second patterndifferent from the first pattern and corresponding to the highercorresponding less energy efficient speed. In some embodiments, thesecond pattern is yellow. In some embodiments. In some embodiments, thedisplay zone may include a first pattern range therebetweencorresponding to the first transition range. In some embodiments,patterns of the first pattern range are in a range between the firstpattern and the second pattern and the first pattern range provides nosubstantial discontinuities between the first pattern and the secondpattern.

The computing device 300 may be configured to determine an impracticallylow speed range. In some embodiments, the processor 302 may determinethe impractically low speed range based on speed limit information(e.g., a given percentage of the speed limit or flat speed value belowthe speed limit).

The computing device 300 may be configured to determine a secondtransition range between the impractically low speed and thecorresponding energy efficient speed. The processor 302 may determinethe second transition range by comparing the impractically low speed andthe corresponding energy efficient speed.

The computing device 300 may be configured to present, in the displayzone, a third pattern different from the first pattern and correspondingto the impractically low speed. In some embodiments, the third patternis black. For example, the processor 302 may send a signal to thedisplay to display the third pattern.

The computing device 300 may be configured to present, in the displayzone a second pattern range disposed between the third pattern and thefirst pattern and corresponding to the second transition range. Forexample, the processor 302 may send a signal to the display to cause thedisplay to display the second pattern range. In some embodiments,patterns of the second pattern range are in a range between the firstpattern and the third pattern and the first pattern range provides nosubstantial discontinuities between the first pattern and the thirdpattern.

The computing device 300 may be configured to determine an upper speedlimit. For example, the processor 302 may determine the upper speedlimit. In some embodiments, the upper speed limit may be based on speedlimit information (i.e., the speed limit for that part of the route isthe upper speed limit).

The computing device 300 may be configured to present, in the displayzone, a second indicator corresponding to the upper speed limit. Forexample, the processor 302 may send a signal to the display to displaythe second indicator. In some embodiments, the second indicator is avertical line.

The system 100 may be configured to determine a lower speed limit. Forexample, the processor 302 may determine the lower speed limit. In someembodiments, the lower speed limit may be based on speed limitinformation. For example, many highways in the United States have aminimum speed limit of 45 miles per hour.

The computing device 300 may be configured to present, in the displayzone, a third indicator corresponding to the lower speed limit. Forexample, the PAC 124 may send a signal to the display 122 to display thethird indicator. In some embodiments, the third indicator is a verticalline.

The computing device 300 may be configured to determine an overspeedtolerance speed. For example, the processor 302 may determine theoverspeed tolerance speed by multiplying the speed limit or the upperspeed limit by a factor (e.g., multiplying the speed limit by 1.1) oradding a set value to the speed limit (e.g., 5 miles per hour).

The computing device 300 may be configured to determine a thirdtransition range between the overspeed tolerance speed and the highercorresponding less energy efficient speed. For example, the processor302 may determine the third transition range by comparing the overspeedtolerance speed and the higher corresponding less energy efficientspeed.

The computing device 300 may be configured to present, in the displayzone, a fourth pattern different from the second pattern andcorresponding to the overspeed tolerance speed. For example, theprocessor 302 may send a signal to the display to display the fourthpattern. In some embodiments, the fourth pattern is red.

The computing device 300 may be configured to present, in the displayzone, a third pattern range disposed between the second pattern and thefourth pattern and corresponding to the third transition range. Forexample, the processor may send a signal to the display to display thethird pattern range. In some embodiments, the patterns of the thirdpattern range are in a range between the second pattern and the fourthpattern, and the third pattern range provides no substantialdiscontinuities between the second pattern and the fourth pattern.

FIGS. 7A-7C generally illustrate a flow diagram of a method 700 forproviding a coast recommendation to an operator of a vehicle, such asthe vehicle 10, according to the principles of the present disclosure.In some embodiments, instructions are stored on a memory storage devicethat, when executed by a processor, cause the processor to perform thesteps of the method 700.

At 702, the method 700 may include receiving vehicle position data.

At 704, the method 700 may include receiving vehicle characteristicdata.

At 706, the method 700 may include receiving planned route data.

At 708, the method 700 may include determining a projected route basedat least in part on the vehicle position data.

At 710, the method 700 may include receiving route characteristic data.

At 712, the method 700 may include determining a first speed changeposition and a first speed change target speed based at least in part onthe projected route.

At 714, the method 700 may include determining a second speed changeposition and a second speed change target speed based at least in parton the projected route.

At 716, the method 700 may include determining a first residual speedand a first residual speed position based at least in part on the firstspeed change position and the first speed change target speed.

At 718, the method 700 may include determining a second residual speedand a second residual speed position based at least in part on thesecond speed change position and the second speed change target speed.

At 720, the method 700 may include determining a first lower speedtolerance.

At 722, the method 700 may include determining a second lower speedtolerance.

At 724, the method 700 may include determining a first lower speedenvelope based at least in part on the first residual speed.

At 726, the method 700 may include determining a second lower speedenvelope based at least in part on the second residual speed and asecond lower speed tolerance.

At 728, the method 700 may include determining an overall lower speedenvelope based at least in part on the first residual speed.

At, the method 700 may include determining an upper speed tolerancebased at least in part on the speed limit information.

At 732, the method 700 may include determining an upper speed envelope.

At 734, the method 700 may include determining a target speed profilebased at least in part on the first residual speed, the first residualspeed position, the overall lower speed envelope, and the upper speedenvelope.

At 736, the method 700 may include determining a coast start point basedat least in part on the target speed profile.

At 738, the method 700 may include communicating the coast start pointto the operator of the vehicle.

FIGS. 13A-13C generally illustrate a flow diagram of a method 1300 forproviding a coast recommendation to an operator of a vehicle, such asthe vehicle 10, according to the principles of the present disclosure.In some embodiments, instructions are stored on a memory storage devicethat, when executed by a processor, cause the processor to perform thesteps of method 1300.

At 1302, the method 1300 may include receiving vehicle position data.

At 1304, the method 1300 may include receiving planned route data.

At 1306, the method 1300 may include determining a projected route.

At 1308, the method 1300 may include receiving route characteristic dataincluding at least route elevation data.

At 1310, the method 1300 may include receiving vehicle characteristicdata.

At 1312, the method 1300 may include determining a sampling resolution.

At 1314, the method 1300 may include sampling the route elevation dataat the sampling resolution to generate sampled route elevation data.

At 1316, the method 1300 may include receiving a fuel savings target.

At 1318, the method 1300 may include determining a start of uphilldelay.

At 1320, the method 1300 may include determining a start of downhilldelay.

At 1322, the method 1300 may include determining at least one start ofuphill position and at least one start of downhill position based atleast in part on the sampled route elevation data.

At 1324, the method 1300 may include determining a minimum speed changedistance.

At 1326, the method 1300 may include determining at least one cruisespeed route segment based at least in part on the at least one start ofuphill position and the at least one start of downhill position.

At 1328, the method 1300 may include determining a correspondingcruising speed for the at least one cruise speed route segment based atleast in part on one or more of the route elevation data and the sampledroute elevation data.

At 1330, the method 1300 may include communicating the correspondingcruising speed for the at least one cruise speed route segment. Themethod 1300 may include more or fewer steps than those described above,and the steps of method 1300 may be performed in any suitable order.

A method 1800 for providing a visual driving speed recommendation to anoperator of a vehicle, such as vehicle 10, is disclosed and illustratedin FIGS. 18A-18C.

At 1802, the method 1800 may include determining a current speed.

At 1804, the method 1800 may include determining a corresponding energyefficient speed. In some embodiments, the corresponding energy efficientspeed may be based at least in part on vehicle characteristics data(e.g., vehicle mass, fuel consumption profiles, etc.).

At 1806, the method 1800 may include determining a higher correspondingless energy efficient speed.

At 1808, the method 1800 may include determining a first transitionrange between the corresponding energy efficient speed and the highercorresponding less energy efficient speed.

At 1810, the method 1800 may include displaying, on a display, a displayzone.

At 1812, the method 1800 may include determining an impractically lowspeed range. In some embodiments, the processor 302 may determine theimpractically low speed range based on speed limit information (e.g., agiven percentage of the speed limit or flat speed value below the speedlimit).

At 1814, the method 1800 may include determining a second transitionrange between the impractically low speed and the corresponding energyefficient speed.

At 1816, the method 1800 may include presenting, in the display zone, athird pattern different from the first pattern and corresponding to theimpractically low speed.

At 1818, the method 1800 may include presenting, in the display zone, asecond pattern range disposed between the third pattern and the firstpattern and corresponding to the second transition range.

At 1820, the method 1800 may include determining an upper speed limit.For example, the processor 302 may determine the upper speed limit.

At 1822, the method 1800 may include presenting, in the display zone, asecond indicator corresponding to the upper speed limit.

At 1824, the method 1800 may include determining a lower speed limit.For example, the processor 302 may determine the lower speed limit.

At 1826, the method 1800 may include presenting, in the display zone, athird indicator corresponding to the lower speed limit.

At 1828, the method 1800 may include determining an overspeed tolerancespeed.

At 1830, the method 1800 may include determining a third transitionrange between the overspeed tolerance speed and the higher correspondingless energy efficient speed.

At 1832, the method 1800 may include presenting, in the display zone, afourth pattern different from the second pattern and corresponding tothe overspeed tolerance speed.

At 1834, the method 1800 may include presenting, in the display zone, athird pattern range disposed between the second pattern and the fourthpattern and corresponding to the third transition range.

The method 1800 may include more or fewer steps than those describedabove, and the steps of method 1800 may be performed in any suitableorder.

In some embodiments, a method for providing a coast recommendation foran operator of a vehicle is disclosed. The method may include receivingvehicle position data. The method may further include determining aprojected route based at least in part on the vehicle position data. Themethod may further include determining a first speed change position anda first speed change target speed based at least in part on theprojected route. The method may further include determining a firstresidual speed and a first residual speed position based at least inpart on the first speed change position and the first speed changetarget speed. The method may further include determining a first lowerspeed envelope based at least in part on the first residual speed. Themethod may further include determining an overall lower speed envelopebased at least in part on the first lower speed envelope. The method mayfurther include determining an upper speed envelope. The method mayfurther include determining a target speed profile based at least inpart on the first residual speed, the first residual speed position, thefirst lower speed envelope, and the upper speed envelope. The method mayfurther include determining a coast start point based at least in parton the target speed profile. The method may further includecommunicating the coast start point to the operator of the vehicle.

In some embodiments, the target speed profile may lie above the overalllower speed envelope and below the upper speed envelope. In someembodiments, the method may further include determining a first lowerspeed tolerance, and determining the first lower speed envelope may befurther based on the first lower speed tolerance. In some embodiments,the method may further include receiving vehicle characteristic data,and determining the target speed profile may be further based on thevehicle characteristic data. In some embodiments, the method may furtherinclude receiving planned route data, and determining the projectedroute may be further based on the planned route data. In someembodiments, the method may further include receiving traffic data, anddetermining the first speed change position may be further based on thetraffic data. In some embodiments, the method may further includereceiving route characteristic data, and wherein determining the targetspeed profile is based at least in part on the route characteristicdata. In some embodiments, the method may include receiving routecharacteristic data. In some embodiments, the route characteristic datamay further include elevation data, and determining the target speedprofile may be based at least in part on the elevation data. In someembodiments, the route characteristic data may include road surfacedata, and determining the target speed profile may be based at least inpart on the road surface data. In some embodiments, the routecharacteristic data may include weather data, and determining the targetspeed profile may be based at least in part on the weather data. In someembodiments, the route characteristic data may include traffic data, anddetermining the target speed profile may be based at least in part onthe traffic data. In some embodiments, the route characteristic data mayinclude speed limit information, and determining the upper speedenvelope may be further based on the speed limit information. In someembodiments, the route characteristic data may include speed limitinformation, the method may further include determining an upper speedtolerance based at least in part on the speed limit information, and theupper speed envelope may be further based on the upper speed tolerance.In some embodiments, the method may further include determining a secondspeed change position and a second speed change target speed based atleast in part on the projected route. In some embodiments, the methodmay further include determining a second residual speed and a secondresidual speed position based at least in part on the second speedchange position and the second speed change target speed. In someembodiments, the method may further include determining a second lowerspeed envelope based at least in part on the second residual speed. Insome embodiments, the method may further include determining the overalllower speed envelope is further based on the second lower speed envelopesuch that the overall lower speed envelope is the lesser of the firstlower speed envelope and the second lower speed envelope. In someembodiments, the method may further include determining a second lowerspeed tolerance, and determining the second lower speed envelope may befurther based on the second lower speed tolerance. In some embodiments,an apparatus may include a processor and a memory including instructionsthat, when executed by the processor, cause the processor to perform thesteps of the method. In some embodiments, a non-transitorycomputer-readable storage medium may include executable instructionsthat, when executed by a processor, facilitate performance of the stepsof the method.

In some embodiments, a method for providing a cruising speedrecommendation to an operator of a vehicle is disclosed. The method mayinclude determining a projected route. The method may further includereceiving route characteristic data including route elevation data. Themethod may also include determining a sampling resolution. The methodmay further include sampling the route elevation data at the samplingresolution to generate sampled route elevation data. The method may alsoinclude determining at least one start of uphill position and at leastone start of downhill position based at least in part on the sampledroute elevation data. The method may also include: determining at leastone cruise speed route segment based at least in part on the at leastone start of uphill position and the at least one start of downhillposition. The method may also include determining a correspondingcruising speed for the at least one cruise speed route segment based atleast in part on one or more of the route elevation data and the sampledroute elevation data. The method may further include communicating thecorresponding cruising speed for the at least one cruise speed routesegment.

In some embodiments, the method may include receiving vehicle positiondata, and determining the projected route may be based at least in parton the vehicle position data. In some embodiments, the method mayinclude determining a minimum speed change distance, wherein determiningthe cruise speed route segment may be further based on the minimum speedchange distance. In some embodiments, the method may include determininga start of uphill delay, wherein the at least one start of uphillposition may be adjusted forward along the projected route by a distanceequal to the start of uphill delay. In some embodiments, the method mayinclude receiving vehicle characteristic data, wherein determining thestart of uphill delay may be based at least in part on the vehiclecharacteristic data. In some embodiments, the method may includedetermining a start of downhill delay, wherein the at least one start ofdownhill position may be adjusted forward along the projected route by adistance equal to the start of downhill delay. In some embodiments, themethod may include receiving vehicle characteristic data, anddetermining the start of downhill delay may be based at least in part onthe vehicle characteristic data. In some embodiments, the method mayinclude receiving vehicle characteristic data, wherein determining thecorresponding cruising speed for the at least one cruise speed routesegment may be further based on the vehicle characteristic data. In someembodiments, the method may include receiving a fuel savings target,wherein determining the corresponding cruising speed for the at leastone cruise speed route segment may be further based on the fuel savingstarget. In some embodiments, the method may include receiving plannedroute data, wherein determining the projected route may be based atleast in part on the planned route data. In some embodiments, the methodmay include receiving vehicle position data, wherein determining theprojected route may be based at least in part on the vehicle positiondata. In some embodiments, the method may include receiving signagedata, wherein determining the projected route may be based at least inpart on the signage data. In some embodiments, the route characteristicdata may further include road curvature data, and determining thecorresponding cruising speed for the at least one cruise speed routesegment may be further based on the road curvature data. In someembodiments, the route characteristic data may further include roadsurface condition data, and determining the corresponding cruising speedfor the at least one cruise speed route segment may be further based onthe road surface condition data. In some embodiments, the routecharacteristic data may further include weather data, and determiningthe corresponding cruising speed for the at least one cruise speed routesegment may be further based on the weather data. In some embodiments,the route characteristic data may further include speed limit data, anddetermining the corresponding cruising speed for the at least one cruisespeed route segment may be further based on the speed limit data. Insome embodiments, the route characteristic data may further trafficdata, and determining the corresponding cruising speed for the at leastone cruise speed route segment may be further based on the traffic data.In some embodiments, an apparatus may include a processor and a memoryincluding instructions that, when executed by the processor, cause theprocessor to perform the steps of the method. In some embodiments, anon-transitory computer-readable storage medium may include executableinstructions that, when executed by a processor, facilitate performanceof the steps of the method.

In some embodiments, a method for providing a visual driving speedrecommendation to an operator of a vehicle is disclosed. The method mayinclude determining a current speed. The method may further includedetermining a corresponding energy efficient speed. The method mayfurther include determining a higher corresponding less energy efficientspeed. The method may further include determining a first transitionrange between the corresponding energy efficient speed and the highercorresponding less energy efficient speed. The method may furtherinclude displaying, on a display, a display zone. The display zone mayinclude a first indicator corresponding to the current speed. Thedisplay zone may further include a first pattern corresponding to thecorresponding energy efficient speed. The display zone may furtherinclude a second pattern different from the first pattern andcorresponding to the higher corresponding less energy efficient speed.The display zone may further include a first pattern range therebetweencorresponding to the first transition range.

In some embodiments, the first indicator may be a vertical line. In someembodiments, the first pattern may be green. In some embodiments, thesecond pattern may be yellow. In some embodiments, patterns of the firstpattern range may be in a range between the first pattern and the secondpattern and the first pattern range provides no substantialdiscontinuities between the first pattern and the second pattern. Insome embodiments, the method may further include determining animpractically low speed range. In some embodiments, the method mayfurther include determining a second transition range between theimpractically low speed and the corresponding energy efficient speed. Insome embodiments, the method may further include presenting, in thedisplay zone: a third pattern different from the first pattern andcorresponding to the impractically low speed; and a second pattern rangedisposed between the third pattern and the first pattern andcorresponding to the second transition range. In some embodiments, thethird pattern may be black. In some embodiments, the patterns of thesecond pattern range may be in a range between the first pattern and thethird pattern and the first pattern range provides no substantialdiscontinuities between the first pattern and the third pattern. In someembodiments, the method may further include determining an upper speedlimit. In some embodiments, the method may include presenting, in thedisplay zone, a second indicator corresponding to the upper speed limit.In some embodiments, the second indicator may be a vertical line. Insome embodiments, the method may further include determining a lowerspeed limit. In some embodiments, the method may further includepresenting, in the display zone, a third indicator corresponding to thelower speed limit. In some embodiments, the third indicator may be avertical line. In some embodiments, the method may further includedetermining an overspeed tolerance speed. In some embodiments, themethod may further include determining a third transition range betweenthe overspeed tolerance speed and the higher corresponding less energyefficient speed. In some embodiments, the method may further includepresenting, in the display zone: a fourth pattern different from thesecond pattern and corresponding to the overspeed tolerance speed; and athird pattern range disposed between the second pattern and the fourthpattern and corresponding to the third transition range. In someembodiments, the fourth pattern may be red. In some embodiments, thepatterns of the third pattern range may be in a range between the secondpattern and the fourth pattern and the third pattern range provides nosubstantial discontinuities between the second pattern and the fourthpattern. In some embodiments, the first indicator may be at a fixedposition within the display zone. In some embodiments, an apparatus mayinclude a processor and a memory including instructions that, whenexecuted by the processor, cause the processor to perform the steps ofthe method. In some embodiments, a non-transitory computer-readablestorage medium may include executable instructions that, when executedby a processor, facilitate performance of the steps of the method.

FIG. 19 is a flow diagram generally illustrating an energy consumptionestimation method 1900 according to the principles of the presentdisclosure. At 1902, the method 1900 receives vehicle parameters. Asdescribed, the PAC 124 may receive various vehicle parameters of thevehicle 10 from any of the components described herein. At 1904, themethod 1900 determines a vehicle profile of the energy consumptionefficiency. As described, the PAC 124 determines the profile of theenergy consumption efficiency for the vehicle 10 using the vehicleparameters and/or other route characteristics, such as historical routecharacteristics associated with routes previously traversed by thevehicle, route characteristics associated with routes previouslytraversed by similar vehicles (e.g., from the remote computing device132 and/or the V2X communication module 130, other suitable routecharacteristics, or a combination thereof. In some embodiments, the V2Xcommunication module 130 may receive standardized energy consumptiondata of at least one other vehicle, homologation data, a plurality ofstandardized energy consumption data reference points, a parabolicapproximation of energy consumption, a saturation point of energyconservation corresponding to a speed above threshold wherein the energyefficiency diverges from the parabolic approximation, and a coefficientcorresponding to modified energy consumption based on at least onecharacteristic of a gradient on a segment of the route, or combinationsthereof, to generate the profile of the energy consumption efficiency.At 1906, the method 1900 receives route characteristics. As described,the PAC 124 receives various route characteristics (e.g., routecharacteristics for a route the vehicle 10 is either currentlytraversing or will traverse) and other information from any othercomponents described herein. For example, the PAC 124 may receiveinformation about varying gradients along segments of the route. In someembodiments, the method continues at 1908. In some embodiments, themethod continues at 310. At 1908, the method 1900 determines profilesfor the target vehicle speed, the target torque split, and the routecharacteristics as a function of energy consumption efficiency. Asdescribed, the PAC 124 determines profiles for a target vehicle speedand/or a target torque split based on the vehicle parameters, the routecharacteristics, the profile of the energy consumption efficiency of thevehicle 10, other information received, as described, from the variouscomponents described herein. The profiles of the target vehicle speedand/or target vehicle torque split correspond to a vehicle speed and/ora torque split that, when achieved by the vehicle 10, provide anoptimum, or improved energy consumption efficiency of the vehicle 10.

At 1910, the method 1900 generates at least one signal. As described,the PAC 124 generates the at least one signal. The signal may include aHMI signal and/or a recommendation for improved energy consumptionefficiency of the vehicle 10. The signal, when applied by the VPC 102,achieves the target vehicle speed, the target torque split, and routecharacteristics. For example, the PAC 124 may generate a recommendationto detour certain segments of a route. In some embodiments, therecommendation is provided to the operator. In some embodiments, therecommendation is an instruction received by VPC 102 to performautonomously. At 1912, the method 1900 provides the signal to thevehicle propulsion controller. As described, the PAC 124 may substituteHMI signals communicated from the HMI controls 104 based on input fromthe driver of the vehicle 10 with the virtual HMI signals. Additionally,or alternatively, the PAC 124 may substitute vehicle sensor informationprovided by the vehicle sensors 108 to indicate the virtual lead vehicleto the VPC 102. As described, the VPC 102 may apply the virtual HMIsignals and/or may follow the virtual lead vehicle in order to achievethe target vehicle speed and/or torque split. As described, the PAC 124may continuously update the target vehicle speed and/or target torquesplit as the vehicle 10 continues to traverse the route and based onupdated traffic information, vehicle information, route information,other information, or a combination thereof.

FIG. 20 is a flow diagram generally illustrating an alternative energyconsumption estimation method 2000 according to the principles of thepresent disclosure. At 2002, the method 2000 receives vehicleparameters. As described, the PAC 124 may receive various vehicleparameters of the vehicle 10 from any of the components describedherein. At 2004, the method 2000 determines a vehicle profile of theenergy consumption efficiency. As described, the PAC 124 determines theprofile of the energy consumption efficiency for the vehicle 10 usingthe vehicle parameters and/or other route characteristics, such ashistorical route characteristics associated with routes previouslytraversed by the vehicle, route characteristics associated with routespreviously traversed by similar vehicles (e.g., from the remotecomputing device 132 and/or the V2X communication module 130, othersuitable route characteristics, or a combination thereof. In someembodiments, the PAC 124 determines the profile of the energyconsumption efficiency for the vehicle 10 using the standardized energyconsumption data of at least one other vehicle, homologation data, aplurality of standardized energy consumption data reference points, aparabolic approximation of energy consumption, a saturation point ofenergy conservation corresponding to a speed above threshold wherein theenergy efficiency diverges from the parabolic approximation, and acoefficient corresponding to modified energy consumption based on atleast one characteristic of a gradient on a segment of the route, orcombinations thereof.

At 2006, the method 2000 receives route characteristics. As described,the PAC 124 receives various route characteristics (e.g., routecharacteristics for a route the vehicle 10 is either currentlytraversing or will traverse) and other information from any othercomponents described herein. For example, the PAC 124 may receiveinformation about segments of the route with varying gradients. In someembodiments, the method continues at 2008. In some embodiments, themethod continues at 2010. At 2008, the method 2000 determines profilesfor the target vehicle speed, the target torque split, and the routecharacteristics as a function of energy consumption efficiency. Asdescribed, the PAC 124 determines profiles for the target vehicle speed,the target torque split, and the route characteristics based on thevehicle parameters, the route characteristics, the profile of the energyconsumption efficiency of the vehicle 10, other information received, asdescribed, from the various components described herein. The profilesfor the target vehicle speed and/or target vehicle torque splitcorrespond to a vehicle speed and/or a torque split that, when achievedby the vehicle 10, provide an optimum, or improved energy consumptionefficiency of the vehicle 10.

At 2010, the method 2000 generates a vehicle propulsion controllersignal. As described, the PAC 124 is in direct communication with theVPC 102 and may provide signals as an input to the VPC 102. The PAC 124generates the vehicle propulsion controller signal based on the targetvehicle speed. The vehicle propulsion controller signal may be referredto as a recommended target vehicle speed. At 2012, the method 2000generates a torque split controller signal. As described, the PAC 124may be in direct communication with the torque split controller 116 andmay provide signals as inputs to the torque split controller 116. ThePAC 124 generates the torque split controller signal based on the targettorque split. The torque split controller signal may be referred to as arecommended target torque split. At 2014, the method 2000 provides thevehicle propulsion controller signal and the torque split controllersignal. As described, the PAC 124 may provide the vehicle propulsioncontroller signal to the VPC 102. The VPC 102 may determine whether toapply the target vehicle speed indicated by the vehicle propulsioncontroller signal, as described. The PAC 124 may provide the torquesplit controller signal to the torque split controller 116 or mayprovide the torque split controller signal to the VPC 102, which thenmay provide the torque split signal to the torque split controller 116.The torque split controller 116 may then determine whether to apply thetorque split indicated by the torque split controller signal, asdescribed. The vehicle propulsion controller signal and torque splitcontroller signal correspond to a vehicle speed and/or a torque splitthat, when achieved by the vehicle 10, provide an optimum, or improvedenergy consumption efficiency of the vehicle 10. As described, the PAC124 may continuously update the target vehicle speed, the target torquesplit, and the route characteristics as the vehicle 10 continues totraverse the route and based on updated traffic information, vehicleinformation, route information, other information, or a combinationthereof.

FIG. 21 is a flow diagram generally illustrating an alternative energyconsumption estimation method 2100 according to the principles of thepresent disclosure. At 2102, the method 2100 receives vehicleparameters. As described, the PAC 124 may receive various vehicleparameters of the vehicle 10 from any of the components describedherein. At 2104, the method 2100 determines a vehicle profile of theenergy consumption efficiency. As described, the PAC 124 determines theprofile of the energy consumption efficiency for the vehicle 10 usingthe vehicle parameters and/or other route characteristics, such ashistorical route characteristics associated with routes previouslytraversed by the vehicle, route characteristics associated with routespreviously traversed by similar vehicles (e.g., from the remotecomputing device 132 and/or the V2X communication module 130, othersuitable route characteristics, or a combination thereof. In someembodiments, the PAC 124 determines the profile of the energyconsumption efficiency for the vehicle 10 using standardized energyconsumption data of at least one other vehicle, homologation data, aplurality of standardized energy consumption data reference points, aparabolic approximation of energy consumption, a saturation point ofenergy conservation corresponding to a speed above threshold wherein theenergy efficiency diverges from the parabolic approximation, and acoefficient corresponding to modified energy consumption based on atleast one characteristic of a gradient on a segment of the route, orcombinations thereof.

At 2106, the method 2100 receives route characteristics. As described,the PAC 124 receives various route characteristics (e.g., routecharacteristics for a route the vehicle 10 is either currentlytraversing or will traverse) and other information from any othercomponents described herein. In some embodiments, the routecharacteristics include segments having varying gradients. In someembodiments, the method continues at 2108. In some embodiments, themethod continues at 2110. At 2108, the method 2100 determines profilesfor a target vehicle speed. As described, the PAC 124 determines aprofile for a target vehicle speed based on the vehicle parameters, theroute characteristics, the profile of the energy consumption efficiencyof the vehicle 10, other information received, as described, from thevarious components described herein. The profile for the target vehiclespeed corresponds to a vehicle speed that, when achieved by the vehicle10, provide an optimum or improved energy consumption efficiency of thevehicle 10.

At 2110, the method 2100 generates a vehicle speed recommendation. Forexample, the PAC 124 generates a vehicle speed recommendation based onthe profile of the target vehicle speed. At 2112, the method 2100provides the vehicle speed recommendation to the driver. As described,the PAC 124 may provide the vehicle speed recommendation to the driverof the vehicle 10 using the display 122, a mobile computing device, orother suitable devices or displays capable of providing the vehiclespeed recommendation to the driver of the vehicle 10. As described, thedriver of the vehicle 10 may honor the vehicle speed recommendation orignore the vehicle speed recommendation. The vehicle speedrecommendation corresponds to a vehicle speed, when achieved by thevehicle 10, provide an optimum, or improved energy consumptionefficiency of the vehicle 10. As described, the PAC 124 may continuouslyupdate the profile of the target vehicle speed split as the vehicle 10continues to traverse the route and based on updated trafficinformation, vehicle information, route information, other information,or a combination thereof.

FIG. 22 is a flow diagram generally illustrating an alternative energyconsumption estimation method 2200 according to the principles of thepresent disclosure. At 2202, the method 2200 receives standardizedenergy consumption data. For example, the PAC 124 may receive, from aremotely located computing device, standardized energy consumption datacorresponding to at least one other vehicle, the standardized energyconsumption data corresponding to energy consumption of the at least oneother vehicle as a function of speed. The data may be configured ashomologated data. At 2204, the method 2200 generates a scaling factor ofthe standardized energy consumption data. For example, the PAC 124 maygenerate a scaling factor by comparing the energy consumption datacorresponding to the energy consumption of the vehicle as a function ofspeed with the standardized energy consumption data. At 2206, the method2200 includes scaling the standardized energy consumption data. Forexample, at 2207, the method 2200 may generate a profile of the energyconsumption efficiency of the vehicle. At 2208, the method 2200 mayinclude inserting an artificial zero velocity point to have threedistinct standardized energy consumption data reference points. At 2210,the method 2200 may include generating a parabolic approximation ofenergy consumption using the three distinct standardized energyconsumption data reference points. After step 2206, the method 2200 maycontinue at either step 2212 or 2216.

At 2212, the method 2200 may include identifying, with the energyconsumption of the vehicle, a saturation point of energy conservation,the saturation point corresponding to a speed above threshold whereinthe energy efficiency diverges from the parabolic approximation. At2214, the method 2200 may include identifying at least one or morevarying grades along at least one segment of a route and modifying theprofile of the energy consumption efficiency by a coefficient of the atleast one other vehicle. At 2216, the method 2200 may include generatinga signal to selectively instruct the adjustment of at least one of aspeed of the vehicle, at least one route characteristic of a portion ofa route being traversed by the vehicle, and a torque demand of thevehicle. The signal may be generated in the form of a recommendation toan operator and/or instructions to the VPC 102. At 2218, the method 2200may include generating signal corresponding to a recommended route on amobile computing device. At 2220, the method 2200 may include generatinga signal corresponding to a recommended speed along the at least onesegment of a route. For example, at 2220, the recommended speed may beachieved a signal for a torque split controller signal and/or a targetspeed profile. In some embodiments, at 2220, the method includesadjusting a vehicle speed control input based on the at least onesegment of a route with a varying grade and communicating the vehiclespeed control input to a vehicle propulsion controller. At 2222, themethod 2200 may include generating the signal on at least one of an HMI104 or mobile device. At 2224 the method 2200 may include generating thesignal and communicating the signal directly to the VPC 102.

In some embodiments, a method for estimating energy consumption of avehicle includes receiving from a remotely located computing devicestandardized energy consumption data corresponding to at least one othervehicle, the standardized energy consumption data corresponding toenergy consumption of the at least one other vehicle as a function ofspeed. The method further includes generating a scaling factor bycomparing the energy consumption data corresponding to the energyconsumption of the vehicle as a function of speed with the standardizedenergy consumption data. The method further includes scaling thestandardized energy consumption data to generate a profile of the energyconsumption efficiency of the vehicle. The method further includesgenerating a signal to selectively instruct the adjustment of at leastone of a speed of the vehicle, at least one route characteristic of aportion of a route being traversed by the vehicle, and a torque demandof the vehicle.

In some embodiments, scaling the standardized energy consumption dataincludes inserting an artificial zero velocity point to have threedistinct standardized energy consumption data reference points. In someembodiments, generating the profile of the energy consumption efficiencyof the vehicle includes generating a parabolic approximation of energyconsumption using the three distinct standardized energy consumptiondata reference points. In some embodiments, generating the profile ofthe energy consumption efficiency of the vehicle includes identifying,with the energy consumption of the vehicle, a saturation point of energyconservation, the saturation point corresponding to a speed abovethreshold wherein the energy efficiency diverges from the parabolicapproximation.

In some embodiments, generating the profile of the energy consumptionefficiency of the vehicle includes identifying at least one or morevarying grades along at least one segment of a route and modifying theprofile of the energy consumption efficiency by a coefficient of the atleast one other vehicle. In some embodiments, generating a signal toselectively instruct the adjustment of the at least one routecharacteristic of a portion of a route being traversed by the vehicleincludes generating signal corresponding to a recommended route on amobile computing device. In some embodiments, generating a signal toselectively instruct the adjustment of the at least one routecharacteristic of a portion of a route being traversed by the vehicleincludes generating a signal corresponding to a recommended speed alongthe at least one segment of a route. In some embodiments, generating asignal corresponding to a recommended speed along the at least onesegment of a route includes adjusting a vehicle speed control inputbased on the at least one segment of a route with a varying grade andcommunicating the vehicle speed control input to a vehicle propulsioncontroller. In some embodiments, generating a signal to selectivelyinstruct the adjustment of the speed of the vehicle includes generatinga signal corresponding the speed of the vehicle to at least one segmentof the route being traversed by the vehicle on a mobile computingdevice.

In some embodiments, an apparatus for estimating energy consumption of avehicle includes a memory and a processor. The memory includesinstructions executable by the processor to: receive from a remotelylocated computing device standardized energy consumption datacorresponding to at least one other vehicle, the standardized energyconsumption data corresponding to energy consumption of the at least oneother vehicle as a function of speed; generate a scaling factor bycomparing the energy consumption data corresponding to the energyconsumption of the vehicle as a function of speed with the standardizedenergy consumption data; scale the standardized energy consumption datato generate a profile of the energy consumption efficiency of thevehicle; and generate a signal to selectively instruct the adjustment ofat least one of a speed of the vehicle, at least one routecharacteristic of a portion of a route being traversed by the vehicle,and a torque demand of the vehicle.

In some embodiments, generating the profile of the energy consumptionefficiency of the vehicle includes identifying at least one or morevarying grades along at least one segment of a route and modifying theprofile of the energy consumption efficiency by a coefficient of the atleast one other vehicle. In some embodiments, generating a signal toselectively instruct the adjustment of the at least one routecharacteristic of a portion of a route being traversed by the vehicleincludes generating signal corresponding to a recommended route on amobile computing device. In some embodiments, generating a signal toselectively instruct the adjustment of the at least one routecharacteristic of a portion of a route being traversed by the vehicleincludes generating a signal corresponding to a recommended speed alongthe at least one segment of a route. In some embodiments, generating asignal corresponding to a recommended speed along the at least onesegment of a route includes adjusting a vehicle speed control inputbased on the at least one segment of a route with a varying grade andcommunicating the vehicle speed control input to a vehicle propulsioncontroller. In some embodiments, generating a signal to selectivelyinstruct the adjustment of the speed of the vehicle includes generatinga signal corresponding the speed of the vehicle to at least one segmentof the route being traversed by the vehicle on a mobile computingdevice.

In some embodiments, a non-transitory computer-readable storage mediumincludes executable instructions that, when executed by a processor,facilitate performance of operations, comprising: receiving from aremotely located computing device standardized energy consumption datacorresponding to at least one other vehicle, the standardized energyconsumption data corresponding to energy consumption of the at least oneother vehicle as a function of speed; generating a scaling factor bycomparing the energy consumption data corresponding to the energyconsumption of the vehicle as a function of speed with the standardizedenergy consumption data; scaling the standardized energy consumptiondata to generate a profile of the energy consumption efficiency of thevehicle; and generating a signal to selectively instruct the adjustmentof at least one of a speed of the vehicle, at least one routecharacteristic of a portion of a route being traversed by the vehicle,and a torque demand of the vehicle.

In some embodiments, the standardized energy consumption datacorresponding to at least one other vehicle includes homologation datacorresponding to a plurality of vehicles.

The above discussion is meant to be illustrative of the principles andvarious embodiments of the present invention. Numerous variations andmodifications will become apparent to those skilled in the art once theabove disclosure is fully appreciated. It is intended that the followingclaims be interpreted to embrace all such variations and modifications.

The word “example” is used herein to mean serving as an example,instance, or illustration. Any aspect or design described herein as“example” is not necessarily to be construed as preferred oradvantageous over other aspects or designs. Rather, use of the word“example” is intended to present concepts in a concrete fashion. As usedin this application, the term “or” is intended to mean an inclusive “or”rather than an exclusive “or”. That is, unless specified otherwise, orclear from context, “X includes A or B” is intended to mean any of thenatural inclusive permutations. That is, if X includes A; X includes B;or X includes both A and B, then “X includes A or B” is satisfied underany of the foregoing instances. In addition, the articles “a” and “an”as used in this application and the appended claims should generally beconstrued to mean “one or more” unless specified otherwise or clear fromcontext to be directed to a singular form. Moreover, use of the term “animplementation” or “one implementation” throughout is not intended tomean the same embodiment or implementation unless described as such.

Implementations the systems, algorithms, methods, instructions, etc.,described herein can be realized in hardware, software, or anycombination thereof. The hardware can include, for example, computers,intellectual property (IP) cores, application-specific integratedcircuits (ASICs), programmable logic arrays, optical processors,programmable logic controllers, microcode, microcontrollers, servers,microprocessors, digital signal processors, or any other suitablecircuit. In the claims, the term “processor” should be understood asencompassing any of the foregoing hardware, either singly or incombination. The terms “signal” and “data” are used interchangeably.

As used herein, the term module can include a packaged functionalhardware unit designed for use with other components, a set ofinstructions executable by a controller (e.g., a processor executingsoftware or firmware), processing circuitry configured to perform aparticular function, and a self-contained hardware or software componentthat interfaces with a larger system. For example, a module can includean application specific integrated circuit (ASIC), a Field ProgrammableGate Array (FPGA), a circuit, digital logic circuit, an analog circuit,a combination of discrete circuits, gates, and other types of hardwareor combination thereof. In other embodiments, a module can includememory that stores instructions executable by a controller to implementa feature of the module.

Further, in one aspect, for example, systems described herein can beimplemented using a general-purpose computer or general-purposeprocessor with a computer program that, when executed, carries out anyof the respective methods, algorithms, and/or instructions describedherein. In addition, or alternatively, for example, a special purposecomputer/processor can be utilized which can contain other hardware forcarrying out any of the methods, algorithms, or instructions describedherein.

Further, all or a portion of implementations of the present disclosurecan take the form of a computer program product accessible from, forexample, a computer-usable or computer-readable medium. Acomputer-usable or computer-readable medium can be any device that can,for example, tangibly contain, store, communicate, or transport theprogram for use by or in connection with any processor. The medium canbe, for example, an electronic, magnetic, optical, electromagnetic, or asemiconductor device. Other suitable mediums are also available.

The above-described embodiments, implementations, and aspects have beendescribed in order to allow easy understanding of the present inventionand do not limit the present invention. On the contrary, the inventionis intended to cover various modifications and equivalent arrangementsincluded within the scope of the appended claims, which scope is to beaccorded the broadest interpretation so as to encompass all suchmodifications and equivalent structure as is permitted under the law.

What is claimed is:
 1. A method for providing a cruising speedrecommendation to an operator of a vehicle, the method comprising:receiving route characteristic data including route elevation data thatincludes a plurality of starts of uphill positions and a plurality ofstarts of downhill positions; receiving, from the operator of thevehicle via a human machine interface, a fuel savings target;determining at least one start of uphill position and at least one startof downhill position based on (i) the route elevation data, (ii) anelevation differential between the at least one start of uphill positionand the at least one start of downhill position, and (iii) apredetermined minimum speed change distance; determining at least onecruise speed route segment based on the at least one start of uphillposition and the at least one start of downhill position, wherein alength of the at least one cruise speed route segment is at least thepredetermined minimum speed change distance; determining a correspondingcruising speed for the at least one cruise speed route segment based onthe fuel savings target and at least the route elevation data; andgenerating, for the at least one cruise speed route segment, a vehiclepropulsion controller signal to control a speed of the vehicle based onthe corresponding cruising speed.
 2. The method of claim 1, whereindetermining the corresponding cruising speed includes removing, from theroute elevation data, selected ones of the plurality of starts of uphillpositions and the plurality of starts of downhill positions locatedbetween the at least one start of uphill position and the at least onestart of downhill position.
 3. The method of claim 1, further comprisingreceiving vehicle position data; and determining a projected route basedon the vehicle position data.
 4. The method of claim 3, furthercomprising determining a start of uphill delay, wherein the at least onestart of uphill position is adjusted forward along the projected routeby a distance equal to the start of uphill delay.
 5. The method of claim4, further comprising receiving vehicle characteristic data, whereindetermining the start of uphill delay is based on the vehiclecharacteristic data.
 6. The method of claim 3, further comprisingdetermining a start of downhill delay, wherein the at least one start ofdownhill position is adjusted forward along the projected route by adistance equal to the start of downhill delay.
 7. The method of claim 6,further comprising receiving vehicle characteristic data, whereindetermining the start of downhill delay is based on the vehiclecharacteristic data.
 8. The method of claim 3, further comprisingreceiving planned route data, wherein determining the projected route isbased on the planned route data.
 9. The method of claim 3, furthercomprising receiving signage data, wherein determining the projectedroute is based on the signage data.
 10. The method of claim 1, furthercomprising receiving vehicle characteristic data, wherein determiningthe corresponding cruising speed for the at least one cruise speed routesegment is further based on the vehicle characteristic data.
 11. Themethod of claim 1, wherein the human machine interface is disposed onone of a portion of the vehicle and a mobile computing device.
 12. Themethod of claim 1, wherein the route characteristic data furtherincludes road curvature data, and wherein determining the correspondingcruising speed for the at least one cruise speed route segment isfurther based on the road curvature data.
 13. The method of claim 1,wherein the route characteristic data further includes road surfacecondition data, and wherein determining the corresponding cruising speedfor the at least one cruise speed route segment is further based on theroad surface condition data.
 14. The method of claim 1, wherein theroute characteristic data further includes weather data, whereindetermining the corresponding cruising speed for the at least one cruisespeed route segment is further based on the weather data.
 15. The methodof claim 1, wherein the route characteristic data further includes speedlimit data, and wherein determining the corresponding cruising speed forthe at least one cruise speed route segment is further based on thespeed limit data.
 16. The method of claim 1, wherein the routecharacteristic data further includes traffic data, and whereindetermining the corresponding cruising speed for the at least one cruisespeed route segment is further based on the traffic data.
 17. Anapparatus for providing a cruising speed recommendation to an operatorof a vehicle, the apparatus comprising: a processor; and a memoryincluding instructions that, when executed by the processor, cause theprocessor to: receive route characteristic data including routeelevation data that includes a plurality of starts of uphill positionsand a plurality of starts of downhill positions; receive, from theoperator of the vehicle via a human machine interface, a fuel savingstarget; determine at least one start of uphill position and at least onestart of downhill position based on (i) the route elevation data, (ii)an elevation differential between the at least one start of uphillposition and the at least one start of downhill position, and (iii) apredetermined minimum speed change distance; determine at least onecruise speed route segment based on the at least one start of uphillposition and the at least one start of downhill position, wherein alength of the at least one cruise speed route segment is at least thepredetermined minimum speed change distance; determine a correspondingcruising speed for the at least one cruise speed route segment based onthe fuel savings target and at least one the route elevation data; andgenerate, for the at least one cruise speed route segment, a vehiclepropulsion controller signal to control a speed of the vehicle based onthe corresponding cruising speed.
 18. The apparatus of claim 17, whereinthe instructions further cause the processor to determine thecorresponding cruising speed by removing, from the route elevation data,selected ones of the plurality of starts of uphill positions and theplurality of starts of downhill positions located between the at leastone start of uphill position and the at least one start of downhillposition.
 19. The apparatus of claim 17, wherein the human machineinterface is disposed on one of a portion of the vehicle and a mobilecomputing device.
 20. A non-transitory computer-readable storage mediumcomprising executable instructions that, when executed by a processor,facilitate performance of operations, comprising: receiving routecharacteristic data including route elevation data that includes aplurality of starts of uphill positions and a plurality of starts ofdownhill positions; receiving, from an operator of a vehicle via a humanmachine interface, a fuel savings target; determining at least one startof uphill position and at least one start of downhill position based on(i) the route elevation data, (ii) an elevation differential between theat least one start of uphill position and the at least one start ofdownhill position, and (iii) a predetermined minimum speed changedistance; determining at least one cruise speed route segment based onthe at least one start of uphill position and the at least one start ofdownhill position, wherein a length of the at least one cruise speedroute segment is at least the predetermined minimum speed changedistance; determining a corresponding cruising speed for the at leastone cruise speed route segment based on the fuel savings target and atleast one the route elevation data; and generating, for the at least onecruise speed route segment, a vehicle propulsion controller signal tocontrol a speed of the vehicle based on the corresponding cruisingspeed.